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
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
PHP概率计算函数汇总
Sep 13 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHP应用跨时区功能的实现方法
Mar 21 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
一个查看session内容的函数
2006/10/09 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
xml和web特殊字符
2009/04/28 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python3实现转换Image图片格式
2018/06/21 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
水果花束:Fruit Bouquets
2017/12/20 全球购物
美国保健品专家:Life Extension
2018/05/04 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
感恩节活动策划方案
2014/05/16 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
周一给客户的问候语
2015/11/10 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
用python画城市轮播地图
2021/05/28 Python