where("username="lisi123" and password=123")->find(); dump($arr); b.数组 $m=M("User"); $data["username"]="lisi123"; $data["pas" />
入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

ThinkPHP 查询数据的方式

创建时间:2016-08-15 投稿人: 浏览次数:436
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")");
	


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。