ThinkPHP的数据库条件查询语句有字符串式,数组式书写方法
字符串式即是原生式,数组式查询语句因书写方式与特定字符的原因比较复杂,下面为大家例出了常用的ThinkPHP数组式查询语句的使用方法
ThinkPHP一般查询
$data_gt['id']=array('gt',8);//gt:>大于
$data_egt['id']=array('egt',8);//egt:>=大于等于
$data_lt['id']=array('lt',8);//lt:<小于
$data_elt['id']=array('elt',8);//elt:<=小于等于
$data_eq['id']=array('eq',8);//eq:=等于
$data_neq['id']=array('neq',8);//eq:!=不等于
ThinkPHP like模糊查询
$data_like['username']=array('like','%A%');//包含A的所有username
$data_like['username']=array('like','%A%');//包含A的所有username
$data_notlike['username']=array('notlike','%A%');//不包含A的所有username,注意notlike中间没有空格
ThinkPHP like多匹配查询
包含A或者2的所有username,如果数组中没有第三个参数,那么默认是or的关系
$data_like_mul_or['username']=array('like',array('%A%','%2%'));
包含A和2的所有username,如果要求是和的关系,要在数组中添加第三个参数:and
$data_like_mul_and['username']=array('like',array('%A%','%2%'),'and');
ThinkPHP Between区间查询
查询id在6到13之间(包括两端的值)的记录
$data_between['id']=array('between',array(6,13));
查询id不在6到13之间(不包括两端的值)的记录,注意在这里not与between之间一定要有空格
$data_not_between['id']=array('not between',array(6,13));
ThinkPHP In区间查询
查询id在此数组中的记录
$data_in['id']=array('in',array(6,7,8,9,10));
查询id不在此数组中的记录,注意这里not与in之间也是要用空格的
$data_not_in['id']=array('not in',array(6,7,8,9,10));
ThinkPHP 多字段相同查询
$data_like['title|username']=array('like',"%{$key}%");
ThinkPHP 多字段不相同查询
$data['status&score&title'] =array('1',array('gt','0'),'thinkphp','_multi'=>true);
'_multi'=>true必须加在数组的最后,表示当前是多条件匹配,这样查询条件就变成 status= 1 AND title = 'thinkphp'