当前位置: 首页 > 编程笔记 >

thinkphp实现like模糊查询实例

史弘致
2023-03-14
本文向大家介绍thinkphp实现like模糊查询实例,包括了thinkphp实现like模糊查询实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考。具体实现方法如下:

目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明。

这里主要通过举例来说明用法:

ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。

一、使用字符串作为查询条件

这是最传统的方式,但是安全性不高,
例如:

$User = M("User"); // 实例化User对象

$User->where('type=1 AND status=1')->select();

最后生成的SQL语句是

SELECT * FROM think_user WHERE type=1 AND status=1

如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:

$User = M("User"); // 实例化User对象

$condition['name'] = 'thinkphp';

$condition['account'] = 'thinkphp';

$condition['_logic'] = 'OR';

// 把查询条件传入查询方法

$User->where($condition)->select();

最后生成的SQL语句是

SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'

二、数组方式作为查询条件

讲了这么多了like查询怎么实现呢,下面看

$userForm=M('user'); 

$where['name']=array('like','jb51%');

$userForm->where($where)->select();

这里的like查询即为:
name like 'jb51%'

查询语句:

$where['name']=array('like',array('%jb51%','%.com'),'OR');

这里的like查询即为:
name like '%jb51%' or name like '%.com'

查询语句:

$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'jb51','or');

这里的like查询即为:
(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'jb51')

查询语句:

$where['_string']='(name like "%jb51%")  OR (title like "%jb51")';

这里的like查询即为:
name like '%jb51%' or title like '%jb51'

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

 类似资料:
  • 前面介绍了如何查询数据库单条和多条数据,本小节介绍如何使用关键字模糊查询符合要求的结果集,模糊查询在实际业务中主要用于搜索关键字查询需要的信息。 1.模糊查询表达式 % 表示指代任意内容,例如 '%小%' 表示包含 小 的表达式,且 小 前后都有内容, '%小' 表示以 小 结尾的表达式,王 前面有内容,后面没有内容,'小%' 表示以 小 开头的表达式,小 前面没有内容,后面有内容。 2.使用LI

  • 本文向大家介绍thinkPHP实现多字段模糊匹配查询的方法,包括了thinkPHP实现多字段模糊匹配查询的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP实现多字段模糊匹配查询的方法。分享给大家供大家参考,具体如下: 引言:有时候查询要匹配多个字段。比如查询地址,地址是由多个字段组成的。有省、市、区等等,以及详细地址。这个时候如何查询呢? 实现不同字段相同的查询条件 用

  • 主要内容:带有“%”通配符的查询,带有“_”通配符的查询,LIKE 区分大小写,使用通配符的注意事项和技巧在 MySQL 中, LIKE 关键字主要用于搜索匹配字段中的指定内容。其语法格式如下: [NOT] LIKE  '字符串' 其中: NOT :可选参数,字段中的内容与指定的字符串不匹配时满足条件。 字符串:指定用来匹配的字符串。“字符串”可以是一个很完整的字符串,也可以包含通配符。 LIKE 关键字支持百分号“%”和下划线“_”通配符。 通配符是一种特殊语句,主要用来模糊查询。当不知道真正

  • 本文向大家介绍MyBatis实现动态查询、模糊查询功能,包括了MyBatis实现动态查询、模糊查询功能的使用技巧和注意事项,需要的朋友参考一下 要实现查询,咱们就先有个数据库,截图如下,其中cityAreaId是外键,本次可以忽略; 下面Branches是我的实体类,里面有name和address属性; 接口中方法: MyBatis的接口映射文件的代码: 动态查询: 模糊查询: 然后就是main方

  • 本文向大家介绍c# GridControl的模糊查询实现代码,包括了c# GridControl的模糊查询实现代码的使用技巧和注意事项,需要的朋友参考一下 如上图所示,如果查询供应商名称包括机械的公司,正常设置是不可以的,只能从头开始筛选: 方法1: 以下是以为网名为[不是小宽]的网友发给我的完美解决方案,我在此贴出来,大家可以共同学习: 在要查询的窗体中调用即可: SetFilter( grid

  • 本文向大家介绍mysql模糊查询like和regexp小结,包括了mysql模糊查询like和regexp小结的使用技巧和注意事项,需要的朋友参考一下 在mysql中实现模糊查询的有like和regexp。 ------------------------ like的用法许多人都是知道的,最为常用的情况就是select * from a where name like '%a%'; 其中'%'代表