您的位置:首页 > 数据库 > MySQL

mysql 查询语句

2016-01-08 19:19 615 查看
在PDO中有很多模式能用,

在使用的时候在用 bindvalue 的时候 在select 中有IN 的 语句无法实现,

在传入的时候

select * from users where id in (1,2,3);

当1,2,3 用 PDO::PARAM_STR 的时候,会出现这种情况

select * from uers where id in ("1,2,3");

这查询出来的结果明显是不对的这时候有几种方法来实现正确的查询

一种是直接把代码嵌套在sql 里面但这样的话会容易被人黑掉

还有就是用find_in_set 

这个函数使用出来的效果和in 一样都是查询

select * from uers where find_in_set(id, "1,2,3");

就能查询出和 上面想要的结果一样的结果。

而且在PDO::PARAM_STR 传进去的就是"1,2,3"

刚好满足了需求能完美解决这个问题。

还有一个比较次的问题那就是用for 循环来实现这个问题

把每个值都传进去,而且在传的时候加一个‘,’这样也能解决但是个人觉得比较麻烦= =
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: