mysqli_query – возвращаемые значения

Я использую функцию PHP mysqli_query для запуска запроса SELECT .

Что возвращает mysqli_query если запрос выполняется успешно, но запрос не находит совпадений?

Solutions Collecting From Web of "mysqli_query – возвращаемые значения"

В руководстве :

Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект mysqli_result. Для других успешных запросов mysqli_query () вернет TRUE.

Запрос, который запускает, но не возвращает никаких результатов, по-прежнему считается «успешным запросом», поскольку запрос выполнялся в базе данных, а пустой набор результатов – законный ответ. Это означает, что запрос все равно вернет объект mysqli_result , и если вы проверите его количество строк (либо через $result->num_rows в объектно-ориентированном стиле, либо в mysqli_num_rows($result) в процедурном стиле), он вернет 0.

Объект Mysqli_query , чем вы можете использовать mysqli_num_rows для подсчета числа возвращаемых строк. Так:

 if(mysqli_num_rows($query) > 0 ){ // Do something } 
 if ($result = $mysqli->query("SELECT * FROM data")) { $count = $result->num_rows; printf("Result set has %d rows.\n", $count); $result->close(); } 

Из справки :

Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект mysqli_result. Для других успешных запросов mysqli_query () вернет TRUE.