使用PHP 在一個語句中執行多個SQL 查詢
在這個程式設計難題中,使用者尋求一種方法將多個SQL查詢組合成一個單一聲明。他們提供了由三個單獨的查詢組成的範例程式碼:
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 在一條語句中執行多個SQL查詢,關鍵是在mysql_connect 初始化期間傳遞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 ");
在此範例中,所有查詢將作為單一語句的一部分順序執行。要注意的是,後續指令如 mysql_fetch_*、mysql_num_rows 和 mysql_affected_rows 只對第一個執行的查詢有效。
mysql_close 問題
關於以下問題關閉資料庫連接,一般建議完成所有SQL查詢後調用mysql_close($db)來釋放連接,釋放資源。
以上是如何使用 PHP 在一條語句中執行多個 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!