I次のコードを持っている:ループ用意したstatments
try
{
if(!($stmt = $conn["DB"]->prepare('CALL `central`.`permissions_edit`(?,?,?,?,?);')))
{
$rtn["Errors"][] = "permissions_edit Prepare failed: (" . $conn["DB"]->errno . ") " . $conn["DB"]->error;
}
else{
foreach ($data as $user => $areas) {
foreach ($areas as $area => $access) {
foreach ($access as $acc => $active) {
if($active != "U")
{
if(!($stmt->bind_param(
'siiis',
$key,
$user,
$area,
$acc,
$active
)))
{
$rtn["Error"][] = "permissions_edit Bind failed: (" . $conn["DB"]->errno . ") " . $conn["DB"]->error;
}
else if(!($stmt->execute()))
{
$rtn["Errors"][] = "permissions_edit Execute failed: (" . $conn["DB"]->errno . ") " . $conn["DB"]->error;
}
else if($res = $stmt->get_result())
{
if ($row = $res->fetch_assoc())
{
if(isset($row["Success"]) && $row["Success"])
{
$rtn["Results"][]= "user=$user areas=$area access=$acc active=$active Message=" . $row["Msg"];
}
else
{
$rtn["Success"] = false;
$rtn["Errors"][]= "user=$user areas=$area access=$acc active=$active Message=" . $row["Msg"];
}
}
}
else
{
$rtn["Errors"][] = "permissions_edit Get failed: (" . $conn["DB"]->errno . ") " . $conn["DB"]->error;
}
}
else
$rtn["Results"][]= "user=$user areas=$area access=$acc active=$active Message=Unchanged";
}
}
}
}
}
catch(Exception $e)
{
$rtn["Errors"][] = "permissions_edit Error(" . $conn["DB"]->errno . "): " . $conn["DB"]->error;
}
ループが1〜2回を繰り返し、このコードを使用したが、しかし、ループが3回以上のためにPHPにするPOSTを引き起こし繰り返し、このコードを使用して完全に 作品無応答
で終端とMySQLログに次のように生成し、
2017-03-03T16:47:49.284972Z 450 [注] DBへの接続450が失敗しました: '中央' ユーザ '名' ホスト 'localhost' の( 通信パケットを読み取るガットエラー)
2017-03-03T16:47:49.582165Z 451 [注] DBへ 接続451が失敗しました:「中央'user:' username 'host:' localhost ' (通信パケットの読み込みにエラーが発生しました)
質問はどうしたのですか?
注 私は、これがその後、順不同
パケットもたらし
$res->free(); $stmt->close();
を追加しようとしました。 1 7.パケットサイズ= 7
mysqli_stmt ::実行を()受信予想:エラー情報から
結果セットのヘッダを読み:MySQLのサーバが離れ
mysqli_stmt ::実行を()行ってきました。 PHP
PHP Version 5.6.27
mysqli
MysqlI Support enabled
Client API library version mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 0
Directive Local Value Master Value
mysqli.allow_local_infile On On
mysqli.allow_persistent On On
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.max_persistent Unlimited Unlimited
mysqli.reconnect Off Off
mysqli.rollback_on_cached_plink Off Off
の作品整頓バージョンである私が、サーバーに対して行われた非常に多くの要求があり、それがこれを引き起こしている可能性が...から推測します編集私は推測するhttp://stackoverflow.com/questions/2232150/pdo-mysql-server-has-gone-awayこのスレッドは – RohitS
あなたがエラーから見ることができるようにローカルホストDBそれを使用して私だけと現在アクセスしているこのコマンドだけでなければならず、これらは同時にではありません。 – MikeT
Tはい...しかし、いくつかの解決策がありますあなたは試してみることができるスレッド内のns ..また、再接続プロパティを有効にしようとする。 – RohitS