PHP模糊查询的实现方法(推荐)


Posted in PHP onSeptember 06, 2016

模式查询

1. SQL匹配模式

2. 正则表达式匹配模式(一般不推荐使用)

SQL匹配模式

1.使用sql匹配模式,不能使用操作符=或!=,而是使用操作符LIKE或NOT LIKE;

2.使用sql匹配模式,MYSQL提供了2种通配符。

%表示任意数量的任意字符(其中包括0个)

_表示任意单个字符

3.使用sql匹配模式,如果匹配格式中不包含以上2种通配符中的任意一个,其查询的效果等同于=或!=

4.使用sql匹配模式,匹配时,不区分大小写

#查询用户名以某个字符开头的用户
#查询用户名以字符'l'开头的用户: l%
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名以某个字符结尾的用户
#查询用户名以字符'e'结尾的用户:e%
SELECT * FROM user WHERE username LIKE 'e%';
#查询用户名包含某个字符的用户
#查询用户名包含字符'o'的用户:%o%
SELECT * FROM user WHERE username LIKE '%o%';
#查询包含三个字符的用户
SELECT * FROM user WHERE username LIKE '___';
#查询用户名第二个字符为o的用户:_o%
SELECT * FROM user WHERE username LIKE '_o%';

正则表达式匹配模式

通配符(正则表达式)

.匹配任意的单个字符

*匹配0个或多个在它前面的字符

x*表示匹配任何数量的x字符

    [..]匹配中括号中的任意字符
    [abc]匹配字符ab或c
    [a-z]匹配任意字母
    [0-9]匹配任意数字
    [0-9]*匹配任意数量的任何数字
    [a-z]*匹配任何数量的字母

^表示以某个字符或字符串开始
  
    ^a 表示以字母a开头

$表示以某个字符或字符串结尾
  
    s$表示以字母s结尾

使用正则表达式匹配模式使用的操作符是:

REGEXP 或 NOT REGEXP(RLIKE 或 NOT RLIKE)

注意:正则表达式匹配模式,其正则表达式出现在匹配字段的任意位置,

其模式就算匹配了,不必在两侧放一个通配符来使得其匹配;

如果仅用通配符 . 来匹配,假设N个,那么其匹配模式表示,大于等于N个;

怎么理解上面这句话呢?

就是说

...   匹配大于等于3个字符的数据
....  匹配大于等于4个字符的数据
#查询用户名以字符 l开头的用户:^l;
#正则表达式写法

SELECT * FROM user WHERE username REGEXP '^l';
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名正好是三个字符的用户:^...$;
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE '___';
#正则表达式写法
SELECT * FROM user WHERE username REGEXP '^...$';

以上这篇PHP模糊查询的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php转换颜色为其反色的方法
Apr 27 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
PHP递归创建多级目录
Nov 05 PHP
php获取当前页面完整URL地址
Dec 30 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
PHP架构及原理知识点详解
Dec 22 PHP
浅谈PHP中的数据传输CURL
Sep 06 #PHP
PHP实现页面静态化的超简单方法
Sep 06 #PHP
基于PHP实现短信验证码接口(容联运通讯)
Sep 06 #PHP
PHP7 新特性详细介绍
Sep 06 #PHP
PHP会员找回密码功能的简单实现
Sep 05 #PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 #PHP
浅谈mysql_query()函数的返回值问题
Sep 05 #PHP
You might like
优化使用mysql存储session的php代码
2008/01/10 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
php文件上传的两种实现方法
2016/04/04 PHP
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
JS前端加密算法示例
2016/12/22 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
简述vue中的config配置
2018/01/23 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Django开发中的日志输出的方法
2018/07/02 Python
python看某个模块的版本方法
2018/10/16 Python
python SocketServer源码深入解读
2019/09/17 Python
python实现定时发送邮件
2020/12/23 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
资深生产主管自我评价
2013/09/22 职场文书
园长自我鉴定
2013/10/06 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
公司合作意向书
2014/04/01 职场文书
一年级评语大全
2014/04/23 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
合同补充协议书
2016/03/24 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书