ThinkPHP 查询数据的方式

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')");
	


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值