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 23 PHP
php Ubb代码编辑器函数代码
Jul 05 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
jQuery+php实现ajax文件即时上传的详解
Jun 17 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP实现文字写入图片功能
Feb 18 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笔记 字符串处理
2010/10/19 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
jQuery固定浮动侧边栏实现思路及代码
2014/09/28 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
Python max内置函数详细介绍
2016/11/17 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
python之列表推导式的用法
2019/11/29 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
Python可以实现栈的结构吗
2020/05/27 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
学校搬迁方案
2014/06/15 职场文书
个人年终总结范文
2015/03/09 职场文书
创业计划书之花店
2019/09/20 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技