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 相关文章推荐
优化NFR之一 --MSSQL Hello Buffer Overflow
Oct 09 PHP
PHPShop存在多个安全漏洞
Oct 09 PHP
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
PHP中对数据库操作的封装
Oct 09 PHP
php学习之变量的使用
May 29 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
PHP使用CURL实现下载文件功能示例
Jun 03 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 PHP
laravel使用redis队列实例讲解
Mar 23 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
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
Vue实现穿梭框效果
2020/09/30 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python判断操作系统类型代码分享
2014/11/22 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
python之Character string(实例讲解)
2017/09/25 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
办理生育手续介绍信
2014/01/14 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
数学国培研修感言
2014/02/13 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
荒岛余生观后感
2015/06/09 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby