【发布时间】:2019-06-23 03:08:00
【问题描述】:
我收到以下错误:
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 的了解并不能让我找到解决方案。
谢谢!
【问题讨论】:
-
感谢 progman 将其标记为重复,但它并没有解决我增加最大允许数据包的问题。或许您可以通过其他方式提供帮助,而不是担任学校礼堂监督员?
-
尝试释放语句对象——即
$sql->close();——另外,将$sql->execute()的结果分配给一个变量并测试它而不是$sql -
感谢@RamRaider,它解决了我的问题。不幸的是它开辟了一个新的..
标签: php