無法使用PDO 為WHERE IN 子句綁定參數
您的程式碼嘗試使用PDO 為WHERE IN 子句綁定參數,但是它始終返回計數1。用變數本身取代參數化值會產生準確的計數。造成這種差異的原因是 PDO 無法有效綁定 IN 子句的參數。
提供的陣列被內爆為逗號分隔的字串並指派為參數值。但是,資料庫將此字串解釋為單一值,類似於使用:
SELECT foo FROM bar WHERE ids IN ('1,2,3')
儘管存在多個值,資料庫仍將其視為單一字串。要解決此問題,您必須手動將 IN 清單插入查詢中:
'SELECT foo FROM bar WHERE ids IN (' . $myArray .')'
此方法可確保每個陣列元素都正確包含在 IN 子句中。不幸的是,目前沒有其他可行的解決方案可以使用 PDO 在 WHERE IN 子句中綁定參數。
以上是為什麼PDO在WHERE IN子句中綁定參數失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!