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运算符的知识大全
Nov 03 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php生成QRcode实例
Sep 22 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
Nov 21 PHP
php-msf源码详解
Dec 25 PHP
Laravel关系模型指定条件查询方法
Oct 10 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python中使用print输出中文的方法
2018/07/16 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
Python实现图像的垂直投影示例
2020/01/17 Python
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
培训楼经理岗位责任制
2014/02/10 职场文书
元旦晚会策划方案
2014/02/18 职场文书
环保倡议书400字
2014/05/15 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
大学生活动总结模板
2014/07/02 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
2014年医生工作总结
2014/11/21 职场文书
读书笔记格式
2015/07/02 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers