这里主要通过举例来说明用法:
ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。
一、使用字符串作为查询条件
这是最传统的方式,但是安全性不高,
例如:
代码如下 | 复制代码 |
1.$User = M("User"); // 实例化User对象 |
最后生成的SQL语句是
代码如下 | 复制代码 |
SELECT * FROM think_user WHERE type=1 AND status=1 |
如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
代码如下 | 复制代码 |
1.$User = M("User"); // 实例化User对象 6.$User->where($condition)->select(); |
最后生成的SQL语句是
代码如下 | 复制代码 |
SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp' |
讲了这么多了like查询怎么实现呢,下面看
代码如下 | 复制代码 |
$userForm=M('user'); |
这里的like查询即为:name like '111cn%'
代码如下 | 复制代码 |
$where['name']=array('like',array('%111cn%','%.com'),'OR'); |
这里的like查询即为:name like '%111cn%' or name like '%.com'
代码如下 | 复制代码 |
$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'111cn','or'); |
这里的like查询即为:(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = '111cn')
代码如下 | 复制代码 |
$where['_string']='(name like "%111cn%") OR (title like "%111cn")'; |
这里的like查询即为:name like '%111cn%' or title like '%111cn'
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级