2013-04-28 2 views
0

Я пытаюсь заказать мои результаты с помощью ASC или DESC, используя следующий оператор select.PHP SELECT Группа операторов по предложению

$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '".$genre_value."' ORDER by '".$order_value."' ASC"; 

Таблица загружается правильно, однако атрибуты не упорядочены ASC, может ли кто-нибудь помочь мне найти, что не так с предложением select?

+0

'ASC' по умолчанию, по умолчанию. – Ryan

ответ

1

Заявление не упорядочивает записи правильно, потому что имя столбца было обернуто одинарными кавычками. Удалите кавычки, и это, конечно, работать:

$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '$genre_value' ORDER by $order_value ASC"; 

Если $order_value этого имя столбца, это может быть избежать с помощью кавычки, если это случится быть зарезервированным ключевым словом. Имена столбцов и таблиц являются идентификаторами. Одиночные кавычки делают идентификатор строковым литералом, приводящим к тому, что оператор order by будет действовать неожиданно.

+0

Спасибо, что исправил его. – user1839207

+0

Добро пожаловать ': D' –

+0

Если бы я захотел поместить переменную с именем $ radio, которая либо равна ASC, либо DESC. Будет ли выполняться следующий оператор: $ query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '". $ Genre_value. "ORDER by". $ Order_value. "". $ Varible. ""; – user1839207

Смежные вопросы