PHP を使用して 1 つのステートメントで複数の SQL クエリを実行する
このプログラミングの難問において、ユーザーは複数の SQL クエリを 1 つのステートメントに結合する方法を模索します。単一のステートメント。彼らは、3 つの個別のクエリで構成されるサンプル コードを提供しています。
DELETE FROM aktywne_kody WHERE kodsms ='$kodSMSgracza' AND typkodu ='$id'; mysql_query($query) or die(mysql_error()); INSERT INTO uzyte_kody (gracz, kodsms, typkodu) VALUES ('$nickGracza', '$kodSMSgracza', '$id'); mysql_query($query) or die("Błąd MySQL X04"); INSERT INTO do_odebrania (gracz, itemDATA, itemQTY) VALUES ('$nickGracza', '$itemDATA', '$itemQTY'); mysql_query($query) or die("Błąd MySQL X05");
ソリューション
PHP と MySQL を使用して 1 つのステートメントで複数の SQL クエリを実行するには、キーは次のとおりです。 mysql_connect の初期化中に 5 番目のパラメータとして 65536 を渡します。以下に例を示します。
$conn = mysql_connect('localhost','username','password', true, 65536 /* here! */) or die("cannot connect"); mysql_select_db('database_name') or die("cannot use database"); 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 ");
この例では、すべてのクエリが 1 つのステートメントの一部として順番に実行されます。 mysql_fetch_*、mysql_num_rows、mysql_affected_rows などの後続のコマンドは、最初に実行されたクエリに対してのみ有効であることに注意することが重要です。
mysql_close 質問
に関する質問についてデータベース接続を閉じるには、通常は次の呼び出しをお勧めします。すべての SQL クエリが終了した後、mysql_close($db) を実行して接続を解放し、リソースを解放します。
以上がPHP を使用して単一のステートメントで複数の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。