@xormakor

Почему возникает ошибка Call to a member function fetch_all() on null?

Все пытаюсь запустить сайт на хостинге, после разбора полетов с подключением к БД выдал новую ошибку:

647dde6718570258425125.png

Код прилагаю ниже:

function getConcerts() {
    global $mysqli;

    try {
        return $mysqli->query("SELECT cc.id, ct.city_name, ps.name_place, c.date_concert, p.photo FROM concert_city cc 
        INNER JOIN concert c ON cc.concert_id = c.id
        INNER JOIN city ct ON cc.city_id = ct.id
        INNER JOIN places ps ON cc.place = ps.id
        INNER JOIN photo p ON p.id = cc.photo
        ORDER BY c.date_concert")->fetch_all(MYSQLI_ASSOC);
    } catch(Exception $ex) {
        return $ex;
    }
}
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Я с очень большим трудом могу представить себе код, который может вывести эту ошибку.
Сам по себе метод query() не возвращает null. При ошибке, с отключенными исключениями, он вернет false, и ошибка будет другая.
Если режим исключений включен, то я не представляю, как здесь можно поймать исключение, при вызове по цепочке.

У меня получился только такой говнокод, но он, во-первых, заведомо бессмысленный и сам по себе, а во-вторых, совсем не похож на код, который автор нарисовал в вопросе.
$result = null;
try {
    $result = $mysqli->query("SELECT ...");
} catch(Throwable $ex) {}
$result->fetch_all(MYSQLI_ASSOC);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы