这里主要通过举例来说明用法:
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'
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏