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
模拟flock实现文件锁定
Feb 14 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
PHP加密扩展库Mcrypt安装和实例
Nov 10 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
php目录拷贝实现方法
Jul 10 PHP
利用PHP实现开心消消乐的算法示例
Oct 12 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
Python中join函数简单代码示例
2018/01/09 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
机关财务管理制度
2014/01/17 职场文书
国企干部对照检查材料
2014/08/22 职场文书
社区端午节活动总结
2015/02/11 职场文书
员工辞职信怎么写
2015/02/27 职场文书
四年级作文之植物
2019/09/20 职场文书
全网非常详细的pytest配置文件
2022/07/15 Python