Здравствуйте! Периодически в логах вываливается
Warning: Error while sending QUERY packet. PID=36408
в скрипте на mysqli_query:
foreach ($aData as $p_id=>$p_ip) {
$p_req = "SELECT ip FROM base WHERE ip='".$p_ip."'";
$p_res = mysqli_query($db,$p_req);
if ($p_res) {
if (mysqli_num_rows($p_res)==0) $p_row[] = $aData[$p_id];
mysqli_free_result($p_res);
}
}
Обратился к хостеру. Написали: добавьте следующую строку, возможно обернув в функцию mysql_query:
SET SESSION max_allowed_packet = 256M
Добавил
mysqli_query($db, ‘SET @@global.max_allowed_packet = ’ . 256*1024*1024 );
Не помогло.
Погуглил и добавил еще
mysqli_query($db, ‘SET @@global.wait_timeout = ’ . 60 );
Все равно Warning вылазит. Скрипт, то маленький. Цикл не более 2000 раз за запуск. Памяти должно хватать.
Читал, что для max_allowed_packet
нужно значение длины запроса умноженное на 1024. Длина моего запроса не превышает 50 байт. Запрос за один проход выполняется за 0,0004 сек. База занимает 1,75Мб.
Куда копать? Или хостера дергать?
Буду благодарен за любую помощь.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задание: Реализовать в С++ функцию void BigRorCount(byte* M1, short len, short count), где M1 – сверхбольшое целое положительное число (байтовый массив длиною len), count – количество...
Подскажите, пожалуйста как работать с большими числами, такие как, 10^90(можно и меньше) uint64_t не помогает
Для чего нужен был вспомогательный класс auto_ptr_refНужны примеры простейшей реализации и использования