如何进行模糊查询
发布于:2022-01-17 09:50:54
#1 bsdos
我想查数据库里name以d开头的,如何进行模糊查询
$conditions = array("name" => '%d');
findAll($conditions);
2010-09-26 12:22:47
#2 jake
findAll的第一个参数(条件),可以使用字符串
$conditions = "name like '%d' ";
findAll($conditions);
2010-09-26 13:02:18
#3 bsdos
那我要混合查询呢?
$conditions = "name like '%d' and age = 20";
age只是示例,可能我有好几个条件,但就有1个或2个需要模糊查询(like),是否是只能抛弃array,把sql翻译出来?
2010-09-26 16:56:44
#4 jake
那我要混合查询呢?
$conditions = "name like '%d' and age = 20";
age只是示例,可能我有好几个条件, ...
bsdos 发表于 2010-9-26 16:56 
正解。findAll的$conditions就相等于SQL语句里面的WHERE 后面的条件字符串。所以可以是AND,OR,in,like之类的条件都可以,组合到一起也可以。
select * from atable where
name like 'jake%' AND age < 12 AND userid in (1,3,4,5)就是等于
$conditions = "
name like 'jake%' AND age < 12 AND userid in (1,3,4,5)";$g->findAll($conditions);
2010-09-26 17:58:33