Ну вот же идет конкатенация твоего «field1 DESC, field2» и «ASC» через пробел: $sql.= $sortby['column']; if ($sortby['direction']) $sql.= ' ' . $sortby['direction']; в итоге: «field1 DESC, field2 ASC» а дальше (если есть элементы еще) через запятую тоже самое: while ($sortby= next($this->query['sortby'])) { $sql.= ', '; $sql.= $sortby['column']; if ($sortby['direction']) $sql.= ' ' . $sortby['direction']; } MySQL я знаю, просто не глянул как в хпдо запрос рендерится…