ホームページ > バックエンド開発 > PHPチュートリアル > 2 番目の MySQL クエリが失敗するのはなぜですか? `mysqli_multi_query()` はどのように役立つのでしょうか?

2 番目の MySQL クエリが失敗するのはなぜですか? `mysqli_multi_query()` はどのように役立つのでしょうか?

DDD
リリース: 2024-12-29 17:55:18
オリジナル
156 人が閲覧しました

Why Do My Second MySQL Queries Fail, and How Can `mysqli_multi_query()` Help?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート