@davc

Как исправить ошибку mysqli_num_rows?

Здравствуйте, у меня есть такой код,

$result = mysqli_query($link, "SELECT * FROM `id` ORDER BY `data` DESC WHERE id = '1'");
     $row_cnt = mysqli_num_rows($result);


и дает вот такую ошибку Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in

Когда " удаляю where id ='1' " то все становится нормаьно
Скажите пожалуйста как исправить?
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
lidacriss
@lidacriss
wtf
в запросе сперва должны быть WHERE, а потом уже ORDER/GROUP BY
у вас наоборот
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vadimek
Полуджун
У вас ошибка в запросе. Из документации:
Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.


Поменяйте местами ORDER BY ... и WHERE ...

Также можете добавить проверку: после первой строчки, напишите if ($result) { ... }. А еще лучше используйте PDO вместо mysqli, потому что первый умеет выбрасывать исключения.
Ответ написан
Комментировать
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
$result = mysqli_query($link, "SELECT * FROM `id` ORDER BY `data` DESC WHERE id = '1'");
     $row_cnt = mysqli_num_rows($dbc, $result);

Где $dbc - подключение к бд (mysqli_connect())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы