thinkphp实现like模糊查询实例


Posted in PHP onOctober 29, 2014

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
Sep 23 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
php通过文件头判断格式的方法
May 28 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 #PHP
PHP多个文件上传到服务器实例
Oct 29 #PHP
php跨站攻击实例分析
Oct 28 #PHP
php获取根域名方法汇总
Oct 28 #PHP
3款值得推荐的微信开发开源框架
Oct 28 #PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 #PHP
smarty中js的调用方法示例
Oct 27 #PHP
You might like
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
php新建文件的方法实例
2019/09/26 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
JS拉起或下载app的实现代码
2017/02/22 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
SQL Server面试题
2013/04/04 面试题
《记金华的双龙洞》教学反思
2014/04/19 职场文书
中学教师师德承诺书
2014/05/23 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2015年商场工作总结
2015/04/27 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python