2 つの mysqli クエリを同時に実行しますか?
複数の MySQL クエリを実行しようとすると、2 番目のクエリが失敗するのはなぜですか?
mysqli_multi_query()解決策
この問題に対処するには、mysqli_multi_query() 関数の利用を検討してください。この関数を使用すると、単一の mysqli 呼び出し内で複数のクエリを実行できます。
実装例
まず、クエリを含む文字列を作成し、それぞれをセミコロン (;) で区切ります。 ).
$query = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');"; $query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');";
続いてマルチクエリを実行しますusing mysqli_multi_query():
$result = mysqli_multi_query($mysqli, $query);
実行結果の処理
実行結果は $result 変数にキャプチャされます。最初のクエリが失敗した場合、$result は false になります。
次のステップと注意事項
さらに、mysqli_store_result() は結果セットのないクエリに対して false を返すことに注意してください。 (INSERT クエリなど)。したがって、mysqli_error() を使用して、空の結果をチェックして INSERT が成功したことを確認してください。
mysqli_multi_query()、mysqli_more_results()、mysqli_next_result()、および mysqli_store_result() の詳細については、提供されているドキュメントを参照してください。関数。
以上が2 番目の MySQL クエリが失敗するのはなぜですか? `mysqli_multi_query()` はどのように役立つのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。