ThinkPHP 查询数据的方式

来源:互联网 发布:淘宝店铺重新开店 编辑:程序博客网 时间:2024/05/25 01:34
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 3IN  存在$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')");


0 0