thinkphp3.2框架中where条件查询用法总结


Posted in PHP onAugust 13, 2019

本文实例讲述了thinkphp3.2框架中where条件查询用法。分享给大家供大家参考,具体如下:

thinkphp3.2 where 条件查询

在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用

查询条件

支持的表达式查询,tp不区分大小写

含义 TP运算符 SQL运算符 例子 实际查询条件
等于 EQ = $where['id'] = array('EQ','1') id = 2
不等于 NEQ != $where['id'] = array('NEQ','1') id!=2
大于 GT > $where['id'] = array('GT','1') id >1
大于等于 EGT EGT $where['id'] = array('EGT','1') id>=1
小于 $where['id'] = array('lt',1) id
小于等于 $where['id'] = array('elt',1) id
匹配 like like where[′id′]=array(′like′,′where[′id′]=array(′like′,′where['id'] = array('like','begin%') $where['id'] = array('like','%begin%') where id like '%begin' where id like 'begin%' where id like'%begin%
在范围内包括俩端值 between 0 $where['id'] = array('between',array('0','10')) where id between 0 and 10
不在范围内 not between 0 >id and 1o $where['id'] = array('not between',array('0','10')) where id not between 0 and 10
在枚举的值中 in in $where['id'] = array('in',array('1','2','5')) where id in ('1','2','3')
不在枚举值中 not in not in $where['id'] = array('not in',array('1','2',5)) where id not in ('1','2','5')
exp 表达式查询,支持SQL语法

exp 是表达式的意思,如果你觉得对于一个值限制条件太多的话就可以用这个

$where['id'] = array('exp','in ( select id from id from tableb)');

复查的查询语句

有的时候,我们希望通过一次的查询就能解决问题,这个时候查询条件往往比较复杂,但是却比多次查询库来的高效。

实在是搞不定的话就直接用$where['_string'] = 'xxxx', 这个代表查询的时候拼接上 xxx 条件,一次性解决问题

$where['_string'] = 'left join A on A.id = b.id where a.id not in (select id from C)';

1. 区间查询(一个值得多种情况)

默认是 and

$where['id'] =array(array('neq','8'),array('elt','200'),'and'); // 小于等于200 不等于 8
$where['id'] = array(array('neq','8'),'array('neq','10')','or'); // 不等于8或者不等于10

2. 复合查询

相当于封装了新的查询条件在里面

$where['a'] = 5;
$where['b'] = 6;
$where['_logic'] = 'or';

sql:where a = 5 or b = 6;

$condition['c'] = '3';
$condition['d'] = '4'
$condition['_logic'] = 'or'
$where['a'] = 9;
$where['_complex'] = $condition;

sql: where a=9 and (c = 3 or d = 4)

根据需求,灵活使用(无限套下去)

3. sql 查询

如果有设置了读写分离的话 query 是查询 execute是更新保存

M()->query('select * from a');
M()->execute('update a set counts = 3 where id = 1103')

4. 获取要执行的sql 语句

有的时候条件太复杂,比如 id in(xxxxx),这个xxx就是通过一系列操作获得的结果,嫌麻烦的就直接 都扔进去,写sql 又长,就直接获取sql语句扔进去

1.fetchsql
2.buildsql
3.select(false)

M('user')->fetchsql(true)->select();
M('user')->buildsql();
M('user')->select(false);

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
phpmyadmin的#1251问题
Nov 25 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
php 操作调试的方法
Jul 12 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
Yii分页用法实例详解
Dec 04 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
php实现简易聊天室应用代码
Sep 23 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
php上传excel表格并获取数据
Apr 27 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 #PHP
php实现的表单验证类完整示例
Aug 13 #PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 #PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 #PHP
Laravel如何同时连接多个数据库详解
Aug 13 #PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 #PHP
php链式操作的实现方式分析
Aug 12 #PHP
You might like
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php实现评论回复删除功能
2017/05/23 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
Python信息抽取之乱码解决办法
2017/06/29 Python
详解python编译器和解释器的区别
2019/06/24 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
通过python检测字符串的字母
2020/02/18 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
PHP面试题集
2016/12/18 面试题
节水倡议书范文
2014/04/15 职场文书
志愿者活动总结报告
2014/06/27 职场文书
2014年科技工作总结
2014/11/26 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
防暑降温通知书
2015/04/27 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS