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 循环来实现这个问题
把每个值都传进去,而且在传的时候加一个‘,’这样也能解决但是个人觉得比较麻烦= =
在使用的时候在用 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 循环来实现这个问题
把每个值都传进去,而且在传的时候加一个‘,’这样也能解决但是个人觉得比较麻烦= =
相关文章推荐
- MySQL临时表的简单用法(复制)
- Mysql inner join on用法例子
- mysql查询并导出指定数据,select from,where,into outfile导出,fields terminated by分隔导出数据
- window 安装Mysql 5.6 发生系统错误 1067
- MySQL 相关命令
- mysql-binlog日志全功率
- MySQL Proxy的几篇文章
- MySQL Proxy使用
- MySQL学习笔记-Keepalived VIP配置使用
- mysql 存储过程和存储函数
- MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途
- 关于MySql 关键字与字段名冲突 的问题
- MySQL的左连接、右连接和全连接的实现
- Azure MySQL PaaS (2) MySQL PaaS修改时区
- mysql 性能优化方案
- MySQL函数
- mysql性能的检查和调优方法
- 服务器忘记mysql密码怎么修改?
- mysql 日期函数
- Mysql 查看连接数 状态等参数