zoukankan      html  css  js  c++  java
  • where = '1=1' 有什么作用?

    下面代码首先定义$where= '1=1',后面就可以不用去判断是否存在$where;简化了判断流程;

    1=1 是永恒成立的,意思无条件的成立,也就是说SQL语句中有没有这个1=1都可以。

    这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。

     

    如果不写1=1,那么在每一个不为空的查询条件面前,都必须判断有没有where字句,哪里该加where,哪里该加and/or

    用上 where 1=1 之后,就不存在这样的问题, 条件是 and 就直接and ,是or就直接接 or

    public function index()
        {
            $where = '1=1';
            $searchArr = [];//记录搜索状态
            if($this->request->isGet()){
                $searchArr = $this->request->param();
                unset($searchArr['page']);
                foreach ($searchArr as $k=>$v) {
                    if($v != '' || $v != 0){
                        if($k == 'name'){
                            $where .= " and a.`{$k}` like '%{$v}%'";
                        }else if ($k== 'role_name'){
                            $where .= " and r.`name` like '%{$v}%'";
                        }else{
                            $where .= " and a.`{$k}` = '{$v}'";
                        }
                    }
                }
            }
    }

    文章来源:刘俊涛的博客欢迎关注公众号、留言、评论,一起学习。

    __________________________________________________________________________________

    若有帮助到您,欢迎点击推荐,您的支持是对我坚持最好的肯定(*^_^*)

    耶和华是我的牧者,我必不至缺乏。
  • 相关阅读:
    4.eureka控制台显示注册的服务IP以及心跳间隔和服务续约时间设置
    3.eureka高可用
    2.注册中心eureka
    1.模拟微服务环境
    oracle视图
    oracle分页查询与Rownum
    IDEA实用配置
    在django使用websocket
    dockerfile镜像设置中文
    python框架day01
  • 原文地址:https://www.cnblogs.com/lovebing/p/15163645.html
Copyright © 2011-2022 走看看