ホームページ >データベース >mysql チュートリアル >単一の PHP ステートメントで複数の SQL クエリを実行できますか?

単一の PHP ステートメントで複数の SQL クエリを実行できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-24 06:41:10241ブラウズ

Can Multiple SQL Queries Be Executed in a Single PHP Statement?

Executing Multiple SQL Queries in a Single Statement with PHP

Question:

Can multiple SQLクエリは、単一のステートメントに統合されますPHP?

Context:

The question relates to a scenario where multiple SQL queries are being executed separately:

$query = "DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'";
mysql_query($query) or die(mysql_error());

$query = "INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id')";
mysql_query($query) or die("Błąd MySQL X04");

$query = "INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY')";
mysql_query($query) or die("Błąd MySQL X05");

Answer :

はい、で複数のSQLクエリを実行することが可能ですa single statement in PHP using a specific parameter for mysql_connect().

Pass 65536 as the fifth parameter to mysql_connect():

$conn = mysql_connect('localhost','username','password', true, 65536 /* here! */) or die("cannot connect");
mysql_select_db('database_name') or die("cannot use database");

Once this parameter is set, multiple SQL queries can単一のステートメントで実行されます:

mysql_query("
    INSERT INTO table1 (field1,field2) VALUES(1,2);

    INSERT INTO table2 (field3,field4,field5) VALUES(3,4,5);

    DELETE FROM table3 WHERE field6 = 6;

    UPDATE table4 SET field7 = 7 WHERE field8 = 8;

    INSERT INTO table5
       SELECT t6.field11, t6.field12, t7.field13
       FROM table6 t6
       INNER JOIN table7 t7 ON t7.field9 = t6.field10;

    -- etc
");

mysql_fetch_*やmysql_num_rows、mysql_affected_rowsなどの関数を使用して、複数のクエリの最初のステートメントのみが処理されます。 Functions like mysql_affected_rows can be used to retrieve the number of rows inserted or affected by the first query. However, functions like mysql_fetch_* will return values only for the first query and not for subsequent queries in the statement.

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

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