zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    分支可以类型的多态实现
    c#中使用了using自动释放资源,如果在using中被return或者异常终止,也会继续执行dispose函数的
    C# 数组的Clone
    pg_dump备份数据结构及数据
    SpringBoot使用MockMVC单元测试Controller
    Docker连接私服
    Windows安装Docker
    项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde
    剑指Offer对答如流系列
    剑指Offer对答如流系列
  • 原文地址:https://www.cnblogs.com/finalanddistance/p/9566487.html
Copyright © 2011-2022 走看看