在 PHP 中連續執行 MySQL 查詢
在 PHP 程式設計中,可以連續執行多個 MySQL 查詢。然而,一些用戶在嘗試這樣做時遇到了語法錯誤。本文旨在提供有關解決此類問題以及使用適當方法執行多查詢的指導。
執行多個查詢的常見方法是使用分號 (;) 作為每個查詢之間的分隔符號。例如,在提供的 PHP 程式碼片段中,$sql 變數連接三個 MySQL 語句:建立臨時表、更新臨時表中的行以及將臨時表中的資料插入主表中。
然而,MySQL 需要為每個單獨的語句進行新的查詢執行呼叫。因此,使用 $conn->query($sql) 執行連接的 $sql 變數將導致語法錯誤。
要修正此問題,建議單獨準備和執行每個查詢,如下所示在答案中提供的改進程式碼片段中:
$queries = [ "CREATE TEMPORARY TABLE tmp SELECT * FROM event_categoriesBU WHERE id = 1", "UPDATE tmp SET>
這種方法將每個查詢分成自己的語句並允許正確執行。需要注意的是,multi_query 函數不支援佔位符值,從而使應用程式面臨潛在的 SQL 注入漏洞。
為了增強靈活性和適應性,請考慮使用 PDO(PHP 資料物件)而不是 MySQLi。 PDO 提供了更強大的功能,包括對佔位符值的支援以及針對 SQL 注入改進的安全性。
以上是如何在 PHP 中連續執行多個 MySQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!