MySQL IN語句的PDO綁定值我有一個PDO的問題,我很想在被它困擾很長一段時(shí)間后得到答案。舉個例子:我將一個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)當(dāng)然,$產(chǎn)品將被聲明為:產(chǎn)品。但是,當(dāng)編譯語句并綁定值時(shí),它實(shí)際上看起來像這樣: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í)行,因?yàn)槲乙褜⑵錅?zhǔ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)我實(shí)際上可以實(shí)現(xiàn)這一點(diǎn)的唯一方法是將值放在字符串本身而不綁定它們,但我知道必須有一種更簡單的方法來做到這一點(diǎn)。
MySQL IN語句的PDO綁定值
30秒到達(dá)戰(zhàn)場
2019-08-08 15:22:33