Ошибка “Call to undefined function mysqli_fetch_all”

300
07 июля 2017, 07:34

Ругается на mysqli_fetch_all, когда выложил на хостинг.

Fatal error: Call to undefined function mysqli_fetch_all() in /home/admin/models/options_model.php on line 6

      function get_options(){
    global $connection;
    $query = "SELECT * FROM options";
    $res = mysqli_query($connection, $query);
    if($res){
        return mysqli_fetch_all($res, MYSQLI_ASSOC);
    }
    return false;
}
Answer 1

В документации сказано следующее:

Только для MySQL Native Driver

Доступно только с расширением mysqlnd.

Не уверен что вы хотите сразу забить себе память возвращая все строки в массив, тем более когда логично представить что память у вас ограниченная а выборка с базы это N-число строк. Тут сразу назревает логичное решение вызывать много раз функцию fetch_assoc() в цикле, чтобы каждый последующий 'тик' перезаписывал переменную только одной строкой.

while($row = $res->fetch_assoc()){ }

Гениально не правда ли?)

Answer 2

Используйте fetch_assoc в цикле, либо делайте запросы с помощью PDO.

READ ALSO
yii2 любое количество get параметров

yii2 любое количество get параметров

Сейчас я в urlManager прописываю все хардкором

278
Почему не срабатывает исключение?

Почему не срабатывает исключение?

По идее должен сработать catch, но почему-то выводит

229
php - остановка скрипта

php - остановка скрипта

Есть скрипт который быстренько делает свое дело и отрубается (загрузка файла) нужно провести откладку, посмотреть значения переменных, выполнение...

292
Работа с массивом vk API

Работа с массивом vk API

Есть ответ от vk api, если count стоит больше 1, то код не хочет работать со всем списком, не могу понять, что нужно исправить

390