私はそれを理解したいですmysqli_store_result
実際には何をしますか? のPHPマニュアルにアクセスしたmysqli_store_result
ところ、定義が見つかりました
mysqli_store_result — Transfers a result set from the last query
問題は、結果セットをどこに転送するかです。実際には"Commands out of sync; you can't run this command now"
実行後にエラーが発生していましmysqli_multi_query
たが、次の方法を使用するとエラーがなくなりました。
mysqli_multi_query($connection,$query);
do
{
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
さて、私はこれを使用する必要がmysqli_store_result($connection)
ありmysqli_next_result($connection)
ますmysqli_query
かmysqli_multi_query
?
「mysqli_free_result() 関数を使用してクエリの結果によって使用されるメモリを解放することは常に良い習慣ですが、mysqli_store_result() を使用して大きな結果セットを転送する場合、これは特に重要になります。」
もう1つの質問が発生します上記を実行すると、次のようなmysqli_multi_query($connection,$query);
ステートメントが表示されecho 'storing result <br />'
ます
do
{
echo 'storing result <br />
mysqli_store_result($connection);
}
while(mysqli_next_result($connection));
$query には 2 つの INSERT クエリしかありませんでしたが、次の出力が得られました
storing result
storing result
storing result
storing result
これは、転送された結果セットが 4 つあったことを意味します。この状況が理解できません。最後の質問です。上記のdo while
プロセスはパフォーマンスに影響しますか?