Как будет правильнее организовать работу с запросами к MySQL?
Сейчас у меня запрос вписывается прямо в функцию mysql_query(), т.е. так:
$result = mysql_query("SELECT col1,col2,col3 FROM table WHERE col4 =".$x." AND col6=".$y)
Но, иногда в туторах мелькают ссылки на классы для работы с запросами. Может работать с запросами
правильнее при помощи классов. Поэтому, я начал было делать класс для работы с запросами,
пока только для SELECT\'а. Теперь, у меня получается что то вроде этого:
// предварительно я передаю данные о запросе в класс
$dbSelect->selData["table"] = "table";
$dbSelect->selData["cols"] = "col1,col2,col3";
$dbSelect->selData["where"] = "col4 =".$x." AND col6=".$y;
// дальше, при необходимости, в том же духе идут "groupBy", "orderBy" и "limit"
// а в функции mysql_query() стоит вызов метода класса (т.е. из того самого класса для работы с запросами)
// в результате возвращается запрос, составленный из переданных в класс данных
$result = mysql_query($dbSelect->createQuery());
Но меня что-то стали посещать сомнения о рациональности такого способа. По моему он довольно
тормозной. Ведь для того, чтбы составить запрос, нужно передать в класс данные по запросу,
вызвать метод из класса, который, в конечном итоге, вернет готовый запрос. А перед этим, нужно еще передать
экземпряр объекта в функцию из которой будет вызываться метод класса. ... блин, как все запутано.
Посоветуйте правильный способ. Как вообще принято работать с запросами?