Освобождение памяти после sql запроса [PHP] [MYSQLI]

254
05 мая 2017, 19:57

Здравствуйте столкнулся с проблемой связной с освобождением памяти на запрос. Текший код выглядят перемерено так:

  $db->query("SELECT * FROM `table`")->fetch_array(MYSQLI_ASSOC);

только сегодня исполняя SHOW FULL PROCESSLIST; понял что так нельзя и нужно делать примерно так:

$result =  $db->query("SELECT * FROM `table`");
$data = $result->fetch_array(MYSQLI_ASSOC);
$result->free(); // Освобождает память от результата запроса

Если не проделывать эти действия очень часто в консоли появляется Warning: Error while sending QUERY packet. PID=19797 или же в противном случае MySQL server has gone away

Возможно ли сделать так чтобы после query запроса исполнялся ->free()? Есть ли для этого какие то иные меры

Answer 1

Решение немного не стандартное) крон всегда решает проблемы. Исполняется раз в 30 секунд:

$sql = $this->db->query("SELECT * FROM `table` LIMIT 1");
 $data = $sql->fetch_assoc();
 $sql->free();

READ ALSO
Do not Acces $_SERVER array directly

Do not Acces $_SERVER array directly

Netbeans выдал ошибку что не может получить доступ к переменной, захожу на оф сайт php, там пишет что массив $_SERVER был удален, что делать ? как заменить?

256
Не обновляются данные в бд?

Не обновляются данные в бд?

Моей проблемы не увидел, либо плохо искалЕсть объект по клику на который меняется 1 его параметр и записывается с помощью ajax в таблицу

235
Можно ли оптимизировать скрипт?

Можно ли оптимизировать скрипт?

Есть две таблицы, сделаны (к сожалению) таким образом:

247
Есть ли среда для разработки мобильного приложения на PHP?

Есть ли среда для разработки мобильного приложения на PHP?

Написала мессенджер на PHP, который лежит локальном сервере ДенверКак можно конвертировать его в мобильное приложение? Существуют ли такие...

283