2

これについて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 番目の後続のクエリが失敗したことを意味します。どうすればいいですか?

4

0 に答える 0