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 函数使用方法与函数定义方法
May 09 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
配置php网页显示各种语法错误
Sep 23 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
PHP7 新特性详细介绍
Sep 06 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
jquery json 实例代码
2010/12/02 Javascript
js的回调函数详解
2015/01/05 Javascript
angular.element方法汇总
2015/01/07 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
python抓取网页中的图片示例
2014/02/28 Python
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
利用python如何处理nc数据详解
2018/05/23 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
python tkinter组件使用详解
2019/09/16 Python
python pip如何手动安装二进制包
2020/09/30 Python
Spy++的使用方法及下载教程
2021/01/29 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
平面设计师的工作职责
2013/11/21 职场文书
幼儿园运动会入场词
2014/02/10 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
三孔导游词
2015/02/05 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python