PDO链式操作——针对关键字出现问题的解决方案
例如:
1、执行一条SQL语句:查询user表中的所有数据,并通过name字段进行降序,通过age进行升序
2、
案例1:
正确的执行语句为:SELECT * FROM user ORDER BY name DESC, age ASC
使用一个函数对‘字段的升降序’进行操作——order()
执行结果:ORDER BY name desc, ORDER BY age asc
总结 :关键词‘ ORDER BY ’出现了两次
代码如下:
运行结果:
可见:我们的关键词出现了两次,SQL语句也是错误的
解决方案:分成两个方法进行编辑+拼接
案例2:
使用两个函数对‘字段的升降序’进行操作——order()、ordBy()
执行结果:ORDER BY name DESC, age ASC
总结 :关键词‘ ORDER BY ’出现了一次
代码如下:
结果:
可见:我们的关键字就只有一个啦,最终的SQL语句也就正确了(*^▽^*)
案例3:
关键字被执行了两次——sqlOrder()、ordBy()、select()
执行结果: ORDER BY ORDER BY end_time DESC
总结 : 关键词‘ ORDER BY ’连续出现两次
原因 : 关键词ORDER BY是在sqlOrder()中添加的,所以select之前,其他SQL语句也使用了sqlOrder(),使用之后,并没有清空属性值,
那么就会导致第二次使用sqlOrder()前,已经有ORDER BY关键词了,后面再次使用,就会发生关键词叠加情况。
解决方案:每次使用select()方法后,将相关的关键词属性变回初始值就好啦
例如:
以上
END
最新文章
- ffmpeg-20160908[09,10,13,15,19,21,22,24]-bin.7z
- SSO之CAS单点登录实例演示
- 三元运算与lambda表达式
- VS中Qt的探索02
- asp.net 去掉重复的querystring
- Python模块包中__init__.py文件的作用
- SIFT算法的应用--目标识别之Bag-of-words模型
- QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码
- 分类: LINUX apache 访问设置配置
- 【中途相遇+二进制】【NEERC 2003】Jurassic Remains
- Bonferroni校正法
- C语言数组一种巧妙的使用方式
- loadrunner出现报错operands of = have illegal types `pointer to char' and `int'
- AllPay(欧付宝)支付接口集成
- gojs 破解版
- 译自如何将Spring Cloud应用程序从Spring Boot 1.2迁移到1.3
- 用node.js模拟服务器和客户端
- Android 仿知乎创意广告
- du命令解决linux磁盘空间满的问题(很不错的哦)
- mysql处理时间戳