Я получаю эти ошибки:
Warning: mysqli_query(): MySQL server has gone away in (local db)
Warning: mysqli_query(): Error reading result set's header in (local db)
Сначала я устанавливаю соединение:
$connection = new mysqli($server, $user, $pass, $db) or die("unable");
Тогда это:
$sql = $connection->prepare("INSERT INTO comments (name,mail,homepage,comment,time) VALUES (?,?,?,?,?)");
$sql->bind_Param('sssss',$name,$mail,$homepage,$comment,$time);
$sql->execute();
if ($sql){
if (!addPics($connection, $image_content, $mime, $time)){
//other code
}
addPics выглядит следующим образом:
function addPics($connection, $image_content, $mime, $time){
$sql = $connection->prepare("INSERT INTO pictures (picture, mime, time) VALUES (?,?,?)");
$sql->bind_Param('sss',$image_content,$mime, $time);
$sql->execute();
if ($sql){
return true;
} else {
return false;
}
Ошибка возникает при втором выполнении sql->execute. Я предполагаю, что это потому, что я использую соединение для нескольких запросов, но мои знания PHP не позволяют мне найти решение.
Спасибо!
попробуйте освободить объект оператора - т.е. $sql->close(); - также назначьте результат $sql->execute() переменной и проверьте это, а не $sql
Спасибо @RamRaider, это решило мою проблему. К сожалению открылся новый..






Чтобы продемонстрировать мои комментарии
Было бы разумно использовать обратные кавычки вокруг определенных имен столбцов (или всех), если они имеют особое значение в SQL, например name или time.
$sql = $connection->prepare("INSERT INTO comments (`name`,`mail`,`homepage`,`comment`,`time`) VALUES (?,?,?,?,?)");
$sql->bind_Param('sssss',$name,$mail,$homepage,$comment,$time);
/* assign a variable to the `execute` method and test that var */
$result = $sql->execute();
if ( $result ){
/* the statement is now finished with, close it */
$sql->close();
if (!addPics($connection, $image_content, $mime, $time)){
//other code
}
Спасибо progman за то, что пометил его как дубликат, но это не решило мою проблему увеличения максимально допустимого количества пакетов. Возможно, вы можете помочь чем-то другим, помимо того, чтобы быть школьным наблюдателем?