2015-10-05 6 views
1

Я хочу заказать «ранг», но он не работает, Я пробовал много вещей, но я не мог найти решение этого.ORDER BY (row) DESC

$query = $handler->query("SELECT * FROM login ORDER BY rank DESC WHERE rank > 4 AND rank < 7 LIMIT 10"); 
  • Как я могу получить код выше, чтобы работать должным образом?

вещи я попытался:

  • положить ORDER BY rank DESC в конце концов, и;
  • удалять DESC, но это тоже не работает.

Я понятия не имею, как это исправить, поскольку веб-страница даже не загружается при запросе.

+2

'выберите ... где ... order'. если у вас возникла ошибка при вызове запроса, вам сообщили об ошибке синтаксиса. –

+0

Да, ваша следующая задача (как: обучение и реализация) действительно должна быть обработкой ошибок. Или иначе вы будете тратить свое время на дикие угадывания, которые почти наверняка приведут к суевериям и вуду ;-) – VolkerK

+0

Как и в сторону, вам также необходимо предотвратить [sql injection] (http://stackoverflow.com/questions/ 60174/how-can-i-prevent-sql-injection-in-php) в ваших запросах. Это не относится строго к примеру в этом вопросе, но это всегда вызывает беспокойство :) – Brian

ответ

4

Сортировать по должно быть после того, как, где положение

$query = $handler->query("SELECT * FROM login WHERE rank > 4 AND rank < 7 ORDER BY rank DESC LIMIT 10"); 
+0

О, хорошо, я попробовал его после LIMIT 10, поэтому он не сработал, я думаю ... –

+0

Да, из-за этого он не работал. –

0

Попробуйте как этот

$query = $handler->query("SELECT * FROM login WHERE rank > 4 AND rank < 7 ORDER BY rank DESC LIMIT 10") 
+0

Я добавил свой ответ на 9 секунд раньше, чем принятый ответ. Нужно ли это удалить? –