首頁 > 資料庫 > mysql教程 > 如何使用 PDO 正確綁定 WHERE IN 子句的參數?

如何使用 PDO 正確綁定 WHERE IN 子句的參數?

DDD
發布: 2024-11-17 13:38:02
原創
868 人瀏覽過

How to Properly Bind Parameters for a WHERE IN Clause with PDO?

使用PDO 綁定WHERE IN 子句的參數

使用PDO 執行帶有WHERE IN 子句的查詢時,參數綁定可能不起作用正如預期的那樣。如提供的程式碼片段所示,將逗號分隔的值清單綁定到 :ids 參數會導致計數為 1,儘管數組中有多個值。

說明

問題在於 IN 子句期望值的格式如何。綁定數組時,PHP 將所有元素組合成一個字串,該字串被資料庫視為一個參數。這會導致執行以下查詢:

SELECT foo FROM bar WHERE ids IN ('1,2,3')
登入後複製

但是,IN 子句要求每個值都是單獨的參數:

SELECT foo FROM bar WHERE ids IN (1, 2, 3)
登入後複製

要解決此問題,必須手動將IN列表插入到查詢中string:

'SELECT foo FROM bar WHERE ids IN (' . $myArray .')'
登入後複製

或者,可以使用 bindParam 方法綁定單一值而不是陣列。

以上是如何使用 PDO 正確綁定 WHERE IN 子句的參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板