thinkphp模糊查询
时间: 2023-09-19 17:10:21 浏览: 104
您好!对于ThinkPHP的模糊查询,您可以使用模型的查询构造器或者使用原生的SQL语句来实现。下面是两种常见的方式:
1. 使用查询构造器:
```php
// 假设您有一个User模型
$keyword = 'abc';
$users = User::where('username', 'like', '%'.$keyword.'%')->get();
```
上述代码中,我们使用`where`方法来构建模糊查询条件,其中`like`表示模糊匹配,`%`表示任意字符的占位符。
2. 使用原生SQL语句:
```php
$keyword = 'abc';
$users = User::whereRaw("username LIKE '%".$keyword."%'")->get();
```
上面的代码中,我们使用了`whereRaw`方法来添加原生的SQL条件,使用`LIKE`进行模糊匹配。
请注意,在实际使用时,为了安全起见,请确保对用户输入的关键字进行适当的过滤和转义,以防止SQL注入等安全问题。
相关问题
thinkphp where 模糊查询
在ThinkPHP中,可以使用`where`方法进行模糊查询。
例如,查询`name`字段中包含关键字`thinkphp`的记录,可以使用以下代码:
```php
$keyword = 'thinkphp';
$result = Db::name('table')->where('name', 'like', "%{$keyword}%")->select();
```
其中,`%`表示匹配任意字符,`{}`表示变量占位符。
如果需要查询多个字段,可以使用`whereOr`方法:
```php
$keyword = 'thinkphp';
$result = Db::name('table')
->where('name', 'like', "%{$keyword}%")
->whereOr('title', 'like', "%{$keyword}%")
->select();
```
这样就可以同时匹配`name`和`title`字段中包含关键字的记录了。
thinkphp 表达式查询
ThinkPHP 表达式查询是指在查询数据库时,使用特定的语法来构建查询条件的方法。它可以让我们快速、简便地构建复杂的查询条件,同时还支持链式调用和多条件查询。下面是一些常用的表达式查询:
1. 等于:$map['字段名称'] = '值';
2. 不等于:$map['字段名称'] <> '值';
3. 大于:$map['字段名称'] > '值';
4. 小于:$map['字段名称'] < '值';
5. 大于等于:$map['字段名称'] >= '值';
6. 小于等于:$map['字段名称'] <= '值';
7. 模糊查询:$map['字段名称'] = array('like','%值%');
8. 区间查询:$map['字段名称'] = array('between',array('值1','值2'));
9. IN查询:$map['字段名称'] = array('in','值1,值2,值3');
10. NOT IN查询:$map['字段名称'] = array('not in','值1,值2,值3');
11. NULL查询:$map['字段名称'] = array('null');
12. NOT NULL查询:$map['字段名称'] = array('not null');
13. EXISTS查询:$map['字段名称'] = array('exp','exists (select * from 表名 where 条件)');
14. NOT EXISTS查询:$map['字段名称'] = array('exp','not exists (select * from 表名 where 条件)');
以上是一些常用的表达式查询方法,可以根据实际需求灵活使用。
阅读全文