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 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
PHP 实现多服务器共享 SESSION 数据
Aug 15 PHP
深入理解PHP之require/include顺序 推荐
Jan 02 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
php写app用的框架整理
Sep 29 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
PHP二维数组分页2种实现方法解析
Jul 09 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正则
2006/07/07 PHP
用PHP生成静态HTML速度快类库
2007/03/18 PHP
php array_slice函数的使用以及参数详解
2008/08/30 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
一个js实现的所谓的滑动门
2007/05/23 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
对numpy.append()里的axis的用法详解
2018/06/28 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
电子商务专业个人的自我评价
2013/12/19 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
竞争上岗实施方案
2014/03/21 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
殡葬服务心得体会
2014/09/11 职场文书
银行授权委托书范本
2014/10/04 职场文书
旷工辞退通知书
2015/04/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
创业计划书之废品回收
2019/09/26 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers