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 09 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
20个PHP常用类库小结
Sep 11 PHP
基于MySQL体系结构的分析
May 02 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
Apr 08 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
CI框架数据库查询之join用法分析
May 18 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP验证码类ValidateCode解析
Jan 07 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/11/19 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
Python continue语句用法实例
2014/03/11 Python
python保存字符串到文件的方法
2015/07/01 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
Python实现一个优先级队列的方法
2020/07/31 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
晚会主持词开场白
2014/03/17 职场文书
英语系本科生求职信
2014/07/15 职场文书
学习退步检讨书
2014/09/28 职场文书
交通事故调解协议书
2015/05/20 职场文书
高三教师工作总结2015
2015/07/21 职场文书
《中彩那天》教学反思
2016/02/24 职场文书