• 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}'";
                        }
                    }
                }
            }
    }

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

    __________________________________________________________________________________

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

    耶和华是我的牧者,我必不至缺乏。
  • 相关阅读:
    模拟ssh远程执行命令
    基于UDP协议的套接字编程
    TCP三次握手,四次挥手
    基于TCP协议的套接字编程
    osi七层协议
    Python之__class__.__module__,__class__.__name__
    异常处理
    单例模式
    类方法__setattr__,__delattr__,__getattr__
    反射(hasattr,getattr,delattr,setattr)
  • 原文地址:https://www.cnblogs.com/lovebing/p/15163645.html
Copyright © 2020-2023  润新知