proudmore
@proudmore

Почему не срабатывает условие проверки результирующего массива на NULL?

$request = "SELECT courier_id FROM `schedule` WHERE `trip_end` < '$trip_end' AND `trip_start` > '$trip_start'";
		//echo $request;
        $result = $mysqli->query($request);
		if($result === NULL){
            echo "result is null";
        } else {
	    var_dump($result);
            while($row = $result->fetch_row()){
                   $courier = $row[0];//Хватаем первого попавшегося курьера
		   echo $row[0];
		}
		$result->free();
        }

var_dump($result):
object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(1) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }
Прошу помощи, голова кругом уже идет.
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 2
Потому что, query не возвращает NULL.

Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
А чего вы ожидаете? False будет в случае неудачного запроса, у вас же запрос прошел нормально, вернуло 0 строк. Учитесь читать расшифровки, думайте головой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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