在 MySQL 查詢中使用陣列 (PHP):綜合指南
可以透過合併陣列來指定參數來增強 MySQL 查詢。這允許在單一語句中高效處理多個值。
方法 1:準備好的語句
準備好的語句提供了一個安全有效的方法來為查詢新增動態值。透過使用準備好的語句,您可以迭代地將每個陣列元素綁定為參數:
$mysqli = new mysqli(...); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); foreach ($ids as $id) { $stmt->bind_param("i", $id); $stmt->execute(); echo "Updated record ID: $id\n"; }
方法2:查詢中的參數佔位符
或者,您可以嵌入查詢本身中的參數佔位符並將所有數組元素綁定在一個中步驟:
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)"; $stmt = $mysqli->prepare($sql); $types = str_repeat("i", count($ids)); $args = array_merge(array($types), $ids); call_user_func_array(array($stmt, 'bind_param'), ref($args)); $stmt->execute(); echo "Updated record IDs: " . implode(",", $ids) . "\n";
選擇哪一種方法?
選擇取決於特定用例:
準備的好處語句
請記住,使用準備好的語句是保護您的資料庫免受惡意攻擊的重要安全措施攻擊。
以上是如何在 PHP 中有效率地使用陣列與 MySQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!