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模拟HTTP认证
Oct 09 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
PHP下escape解码函数的实现方法
Aug 08 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
浅谈php提交form表单
Jul 01 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
PHP邮箱验证示例教程
Jun 01 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
php5.x禁用eval的操作方法
Oct 19 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
python笔记(2)
2012/10/24 Python
python基础教程之类class定义使用方法
2014/02/20 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
华为慧通笔试题
2016/04/22 面试题
环境工程大学生自荐信
2013/10/21 职场文书
高中毕业自我鉴定
2013/12/19 职场文书
市场拓展计划书
2014/05/03 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
法定授权委托证明书
2015/06/18 职场文书
五星级酒店宣传口号
2015/12/25 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
java基础——多线程
2021/07/03 Java/Android
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫