当前位置:   article > 正文

in的绑定 mysql_php – MySQL IN语句的PDO绑定值

php pdo_mysql in

我有一个问题,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)

当然,$产品将被绑定到语句为: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)

我唯一可以做到这一点的方法是将值放在字符串本身内而不绑定它们,但我知道肯定有一个更简单的方法来做到这一点。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/139377
推荐阅读
相关标签
  

闽ICP备14008679号