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 MYSQL中插入当前时间
Apr 06 PHP
php 获取可变函数参数的函数
Aug 26 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
详解PHP对数组的定义以及数组的创建方法
Nov 27 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
功能强大的PHP发邮件类
Aug 29 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
PHP new static 和 new self详解
Feb 19 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
jQuery判断对象是否存在的方法
2015/02/05 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
简单实现js浮动框
2016/12/13 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
为Python的web框架编写前端模版的教程
2015/04/30 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Python之py2exe打包工具详解
2017/06/14 Python
python 换位密码算法的实例详解
2017/07/19 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python做反被爬保护的方法
2019/07/01 Python
Django中信号signals的简单使用方法
2019/07/04 Python
python实现人工蜂群算法
2020/09/18 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
经济信息管理专业大学生求职信
2013/09/27 职场文书
培训班主持词
2014/03/28 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
优秀大学生自荐信
2015/03/26 职场文书
高中班主任心得体会
2016/01/07 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL