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去除重复字的实现代码
Sep 16 PHP
php&mysql 日期操作小记
Feb 27 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
php生成验证码函数
Oct 20 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
Python实现简单的代理服务器
2015/07/25 Python
python实现多线程抓取知乎用户
2016/12/12 Python
scrapy爬虫完整实例
2018/01/25 Python
python中map的基本用法示例
2018/09/10 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
元旦晚会邀请函
2014/02/01 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
企业宣传稿范文
2015/07/23 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书