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
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
PHP中模拟处理HTTP PUT请求的例子
Jul 22 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
PHP7 新增常量
Mar 09 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 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
React快速入门教程
2017/01/17 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
jquery replace方法去空格
2017/05/08 jQuery
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
python提示No module named images的解决方法
2014/09/29 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Django REST framework 视图和路由详解
2019/07/19 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Python Gitlab Api 使用方法
2019/08/28 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
python利用线程实现多任务
2020/09/18 Python
Python爬虫教程知识点总结
2020/10/19 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
广州盈通面试题
2015/12/05 面试题
机械绘图员岗位职责
2013/11/19 职场文书
四年大学自我鉴定
2014/02/17 职场文书
学徒工职责
2014/03/06 职场文书
会计工作决心书
2014/03/11 职场文书
公司投资建议书
2014/05/16 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS