雖然PDO 通常不允許在單一語句中進行多個查詢,但某些擴充提供了此功能:
PDO_MYSQLND已取代PHP 5.3 中的 PDO_MYSQL。它充當 MySQL PDO 的預設驅動程式。此擴充支援同時執行多個查詢,前提是滿足以下條件:
使用exec
對於常數值的簡單查詢,可以使用exec() 方法:
$db = new PDO(...); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0); $sql = "..."; $db->exec($sql);
使用語句
對於有變數的查詢資料時,使用預先準備語句:
$db = new PDO(...); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); $sql = "..."; $stmt = $db->prepare($sql); $stmt->execute([...]);
記住循環查詢結果以檢查錯誤或收集資料。
使用模擬預準備語句時,請確保在 DSN 中指定正確的編碼(在 PHP 5.3.6 及更高版本中可用)。不正確的編碼可能會帶來使用異常字元集的 SQL 注入的輕微風險。
以上是如何使用 PDO_MYSQL 或 PDO_MYSQLND 在單一 PDO 語句中執行多個查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!