MySQL IN語句的PDO綁定值我有一個PDO的問題,我很想在被它困擾很長一段時間后得到答案。舉個例子:我將一個ID數組綁定到PDO語句,以便在MySQL IN語句中使用。該數組將是:$ values = array(1,2,3,4,5,6,7,8);數據庫安全變量是$ products = implode(','$ values);因此,$ products將成為STRING,其值為:'1,2,3,4,5,6,7,8'聲明如下:SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (:products)當然,$產品將被聲明為:產品。但是,當編譯語句并綁定值時,它實際上看起來像這樣:SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN ('1,2,3,4,5,6,7,8')問題是它將IN語句內部的所有內容作為單個字符串執行,因為我已將其準備為逗號分隔值以綁定到語句。我真正需要的是:SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (1,2,3,4,5,6,7,8)我實際上可以實現這一點的唯一方法是將值放在字符串本身而不綁定它們,但我知道必須有一種更簡單的方法來做到這一點。
添加回答
舉報
0/150
提交
取消