您有一個畫廊ID 陣列$gallery,並且想要建立一個選擇行的SQL 查詢根據數組中的值從資料庫表中取得。
要實現此目的,您需要在WHERE 條件。此子句可讓您指定要與欄位進行比較的值清單。以下是修改查詢的方法:
SELECT * FROM galleries WHERE id IN (1, 2, 5);
透過取代陣列 $galleries 的 /* 值... 例如。 (1 || 2 || 5) */ 使用陣列中的實際值,您可以動態產生 IN 子句。
在PHP 中可以透過多種方法執行此操作:
方法1:使用implode():
$ids = implode(',', $galleries); $sql = "SELECT * FROM galleries WHERE id IN ($ids);";
方法2:使用PDO參數綁定:
$stmt = $pdo->prepare("SELECT * FROM galleries WHERE id IN (:ids);"); $stmt->bindParam(':ids', implode(',', $galleries), PDO::PARAM_STR); $stmt->execute();
透過使用這些技術,您可以輕鬆建立基於陣列中儲存的值過濾資料的 SQL 查詢。
以上是如何將 ID 陣列傳遞給 SQL WHERE 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!