2015-06-02 3 views
0

Я пытаюсь заказать несколько инструкций по их идентификаторам из одной таблицы, но я получаю эту ошибку «mysql_fetch_array() ожидает параметр 1, чтобы быть ресурсом, логический дан в ...»множественного заказ, где заявление

$sql="SELECT * FROM news WHERE categorie IN ('sports', 'movies', 'politics') ORDED BY id DESC"; 
$result=mysql_query($sql); 

Должен ли я сначала их сгруппировать?

+1

Примечания довольно очевидно опечатка. Включить проверку ошибок – Strawberry

+0

изменить 'ORDED BY' на ORDER BY – Umair

ответ

0

Для отладки ошибок PHP сначала проконсультироваться с documentation

В первой: Функция устарела. Не создавайте новый код для устаревших функций, поскольку они будут удалены в будущем.

Второго: См возвращаемых значений, он говорит:

Для SELECT, SHOW, DESCRIBE, EXPLAIN и другие заявления, возвращающиеся, mysql_query ResultSet() возвращает ресурс при успехе, FALSE при ошибке.

Это означает, что ваш SQL-запрос вызвал ошибку, а mysql_query возвратил false. О, и ваша ошибка указывает на mysql_fetch_array, но в вашем примере кода нет.

Теперь, где ошибка? Это ошибка синтаксиса Ваш запрос содержит ORDED BY вместо ORDER BY

+0

Я смотрел код в течение часа, не заметил глупой ошибки. Спасибо! – Indra

0

Результат $ возвращает false, поэтому он выдает сообщение об ошибке. Пожалуйста, вы можете проверить с фильеры даного в MySQL Query, как показано ниже:
$result=mysql_query($sql)or die(mysql_error());

+0

Если имена категорий не будут содержать« спорт »и т. Д., Запрос не будет возвращать логический, но пустой набор. Ваш ответ недействителен. Код возвращает boolean, потому что запрос имеет ошибку SQL – Kyborek

+0

Спасибо Kyborek за указание. На первом этапе я просто смотрел на статую. – Vijay

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