ホームページ >データベース >mysql チュートリアル >単一の PHP ステートメントで複数の SQL クエリを実行するにはどうすればよいですか?

単一の PHP ステートメントで複数の SQL クエリを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-16 09:27:12192ブラウズ

How Can I Execute Multiple SQL Queries in a Single PHP Statement?

PHP を使用して単一のステートメントで複数の SQL クエリを結合する

PHP では、multi メソッドを使用して 1 つのステートメントで複数の SQL クエリを実行できます。 -query() 関数。この関数を使用すると、複数のクエリをチェーンして単一のトランザクションとして実行できます。

構文:

$stmt = $conn->multi_query($query);

例:

次の複数を考慮してくださいクエリ:

$query = "DELETE FROM active_codes WHERE sms_code ='$smsCode' AND code_type ='$id'";
$query .= "INSERT INTO used_codes (player, sms_code, code_type) VALUES ('$playerNick', '$smsCode', '$id')";
$query .= "INSERT INTO rewards (player, item_data, item_qty) VALUES ('$playerNick', '$itemData', '$itemQty')";

次のように、これらのクエリを 1 つのステートメントに結合できます:

$conn = new mysqli('localhost', 'username', 'password', 'database_name');
$stmt = $conn->multi_query($query);

追加の考慮事項:

  • mysql_fetch_* や mysql_fetch_* などのフェッチ関数または行カウント関数を使用する場合mysql_num_rows、最初のクエリの結果のみにアクセスできます。
  • リソースを解放するために、すべてのクエリを実行した後、mysql_close($conn) でデータベース接続を閉じることをお勧めします。

注:

質問で提供されている例は、非推奨の mysql_* 関数。 PHP でのデータベース接続には、代わりに mysqli または PDO 拡張機能を使用することをお勧めします。

以上が単一の PHP ステートメントで複数の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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