これについてGoogleでかなり検索しましたが、役立つ回答がありません-または、自分で解決策を見つけることができませんでした.
これは私の問題です: 私は実行する大きな multi_query (約 50 以上の後続のクエリ) を持っています。マニュアルを正しく理解している場合は、結果を解放する必要があります。multi_query()
これは、後続のクエリごとに、php インタープリターが結果として少なくとも「ok」またはこのようなものを返すためです。最初に解放する必要があります。これは正しいですか、それともここで何か間違っていることを理解しましたか?
私は現在、multi_query
結果を解放するためにこれを試みています:
$Result = $this->Connect->multi_query($Query);
if($Result !== false) {
// Query was ok - got result
while ($this->Connect->more_results() && $this->Connect->next_result());
}
else {
// If the query failed
$this->Valid = false;
array_push($this->SQLErrors,$this->Connect->error);
return false;
}
これは正しいですか?もしそうなら、なぜですか? それを使用しているだけの場合、次while($this->Connect->next_result())
のようなエラーがスローされます"Strict Standards: there is no next result set"
。
エラーをキャッチするにはどうすればよいですか? 50 個の後続の小さなクエリを実行するmulti_query
ことで、次のようなことができるようにしたいと考えてい$ErrorStack[3] = "Mysql Error: ..."
ます。これは、3 番目の後続のクエリが失敗したことを意味します。どうすればいいですか?