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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 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
在JavaScript中调用php程序
2009/03/09 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP实现百度人脸识别
2019/05/06 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
Javascript实现的分页函数
2007/02/07 Javascript
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
python 远程统计文件代码分享
2015/05/14 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Django实现基于类的分页功能
2019/10/31 Python
keras中的卷积层&池化层的用法
2020/05/22 Python
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
两道JAVA笔试题
2016/09/14 面试题
大专毕业生自我评价分享
2013/11/10 职场文书
先进基层党组织材料
2014/12/25 职场文书
销售经理岗位职责
2015/01/31 职场文书
会计人员岗位职责
2015/02/03 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技