in的绑定 mysql_MySQL IN语句的PDO绑定值
MySQL IN語句的PDO綁定值
我有一個PDO的問題,我很想在被它困擾很長一段時間后得到答案。
舉個例子:
我將一個ID數(shù)組綁定到PDO語句,以便在MySQL IN語句中使用。
該數(shù)組將是:$ values = array(1,2,3,4,5,6,7,8);
數(shù)據(jù)庫安全變量是$ 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)
當然,$產(chǎn)品將被聲明為:產(chǎn)品。
但是,當編譯語句并綁定值時,它實際上看起來像這樣: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語句內(nèi)部的所有內(nèi)容作為單個字符串執(zhí)行,因為我已將其準備為逗號分隔值以綁定到語句。
我真正需要的是:SELECT?users.id
FROM?users
JOIN?products
ON?products.user_id?=?users.id
WHERE?products?IN?(1,2,3,4,5,6,7,8)
我實際上可以實現(xiàn)這一點的唯一方法是將值放在字符串本身而不綁定它們,但我知道必須有一種更簡單的方法來做到這一點。
總結(jié)
以上是生活随笔為你收集整理的in的绑定 mysql_MySQL IN语句的PDO绑定值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下安装mysql57_Linu
- 下一篇: jsp mysql在线考试系统源码_js