1.普通查询方式
a.字符串
$m=M('User');
$arr=$m->where("username='lisi123' and password=123")->find();
dump($arr);
b.数组
$m=M('User');
$data['username']='lisi123';
$data['password']='123';
$data['_logic']='or'; //注意没有此数组值,方式默认是 and 的关系,如果使用or关系,需添加此数组值
$arr=$m->where($data)->find();
dump($arr);
2.表达式查询方式
EQ 等于
NEQ 不等于
GT 大于
ECT 大于等于
LT 小于 //$data[id]=array('LT',5);
ELT 小于等于
LIKE 模糊查询 //$data['username']=array('like','%li%');
//$arr=$m->where($data)->select();
NOTLIKE 不存在'li' //$data['username']=array('notlike','%li%');
注意:如果一个字段匹配多个通配符
$data['username']=array('like',array('%li%','%2%','%3%'),'and');
//SQL:SELECT * FROM `think_user` WHERE (`username` LIKE '%li%' AND `username` LIKE '%2%' AND `username` LIKE '%3%') //如果没有第三个值,默认关系是or关系
BETWEEN 在..之间
$data['id']=array('between',array(1,3)); //SQL:SELECT * FROM `think_user` WHERE `id` BETWEEN 1 AND 3
NOTBTWEEN 不在..之间
$data['id']=array('notbetween',array(1,3)); //SQL:SELECT * FROM `think_user` WHERE `id` NOT BETWEEN 1 AND 3
IN 存在
$data['id']=array('in',array(1,5)); //SQL:SELECT * FROM `think_user` WHERE `id` IN (1,5)
NOTIN 存在
$data['id']=array('in',array(1,5)); //SQL:SELECT * FROM `think_user` WHERE `id` NOT IN (1,5)
3.区间查询
$data['id']=array(array('gt',1),array('lt',5)); //默认方式是and的关系
//SQL:SELECT * FROM `think_user` WHERE ( `id` > 1 AND `id` < 5 )
$data['id']=array(array('gt',1),array('lt',5),'or'); //这种方式是or的关系
//SELECT * FROM `think_user` WHERE ( `id` > 1 OR `id` < 5 )
注意:
$data['username']=array(array('like','%1%'),array('like','%2%'),lisi123); 默认and关系 //SQL:SELECT * FROM `think_user` WHERE ( `username` LIKE '%1%' AND `username` LIKE '%2%' AND `username` = 'lisi123' )
$data['username']=array(array('like','%1%'),array('like','%2%'),lisi123,'or'); 设置了or关系 //SQL:SELECT * FROM `think_user` WHERE ( `username` LIKE '%1%' OR `username` LIKE '%2%' OR `username` = 'lisi123' )
4.统计查询
count //echo $m->count(); 获取用户数量
max //echo $m->max('id');获取id的最大值
min //echo $m->min('id');获取id的最小值
avg //echo $m->avg('id');获取id的平均数
sum //echo $m->sum('id');获取id的总和
5.SQL直接查询
a.query 主要处理读取数据
eg:成功返回数据的结果值
$m=M();
$arr=$m->query("select * from think_user where id>1");
dump($arr);
b.execute 用于更新和写入操作
eg:成功返回影响行数
$arr=$m->execute("insert into think_user('username','password','createtime','ip') values('zhang','11','223','11')");
ThinkPHP 查询数据的方式
最新推荐文章于 2023-06-04 15:04:29 发布