Правильно ли так работать с бд?
Код - говно. Такая критика сойдёт?
Код ужаснейшее говно. И потому, что ты не понимаешь простой вещи - для эффективного использования SQL НЕ НУЖНО писать подобные билдеры. Они не нужны примерно в 70% случаев. SQL сам по себе очень сильный инструмент, человекопонятная нотация. Ты же пишешь код, который в 1000000 раз усложняет использование самого SQL, при этом выхлоп - нулевой. 
Посмотри как должна выглядеть обертка под БД - database.phpinfo.su - лаконично и понятно.