ホームページ >バックエンド開発 >PHPチュートリアル >MySQL で 2 つの「mysqli_query()」呼び出しを同時に実行できないのはなぜですか?

MySQL で 2 つの「mysqli_query()」呼び出しを同時に実行できないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-07 01:50:11553ブラウズ

Why Can't I Run Two `mysqli_query()` Calls Simultaneously in MySQL?

なぜ 2 つの mysqli クエリを同時に実行できないのですか?

MySQL では、1 回の呼び出しで複数のクエリを実行するには、mysqli_multi_query を使用する必要があります。 ()。 mysqli_query() を使用して 2 つのクエリを実行しようとすると、2 番目のクエリが失敗します。

解決策: mysqli_multi_query()

この問題を解決するには、使用する正しいメソッドが必要です。 mysqli_multi_query()です。セミコロンで区切られたクエリ文字列を入力として受け取ります。

例:

$mysqli = new mysqli($host, $user, $password, $database);

// Queries to be executed
$query = "INSERT INTO images (project_id, user_id, image_name, ...) VALUES (...);";
$query .= "INSERT INTO images_history (project_id, user_id, image_name, ...) VALUES (...);";

// Execute queries using mysqli_multi_query()
$result = mysqli_multi_query($mysqli, $query);

// Handle results
if ($result) {
    // Process results using mysqli_store_result() and mysqli_next_result()
} else {
    // Handle error (if any)
}

注:

  • mysqli_query() はセキュリティ上の理由から複数のクエリを実行しません (SQL インジェクション)
  • mysqli_store_result() 結果セットを取得するには、mysqli_multi_query() の後に使用する必要があります
  • mysqli_error() をチェックして、INSERT クエリが成功したことを確認する必要があります (結果セットがない場合でも)。

以上がMySQL で 2 つの「mysqli_query()」呼び出しを同時に実行できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。