云顶集团官网手机版-云顶集团网站

热门关键词: 云顶集团官网手机版,云顶集团网站
依赖输入的紧要字查找有关客户,2.利用sql相称情
分类:编程

模式查询

本文实例讲述了PHP模糊查询技术。分享给大家供大家参考,具体如下:

  1. 正则表达式匹配模式

简介

SQL匹配模式

从本质上揭密PHP模糊查询技术

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

功能

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

根据输入的关键字查找相关用户

%表示任意数量的任意字符

PHP用户查询器案例分析

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

课程目标

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

掌握PHP模糊技术的应用

#查询用户名以某个字符开头的用户#查询用户名以字符'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%';

课程重点

正则表达式匹配模式

PHP模糊查询的语法 PHP模糊查询的应用

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

课程案例

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

数据库设计

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

CREATE TABLE user AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID', `username` varchar NOT NULL DEFAULT '' COMMENT '用户名', `password` varchar NOT NULL DEFAULT '' COMMENT '密码', `sex` char NOT NULL DEFAULT '保密' COMMENT '性别', `email` varchar NOT NULL DEFAULT '' COMMENT '邮箱', `hobby` varchar NOT NULL DEFAULT '' COMMENT '兴趣爱好', KEY `username`ENGINE=MyISAM DEFAULT CHARSET=UTF8 COMMENT='用户表'

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

索引的好处:

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

如果按照某个条件去检索数据,如果这个条件字段没有建立索引,查询的时候是会遍历整张表,如果你建立了索引,查询的时候就会根据索引来查询,进而提高查询性能

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

Mysql模糊查询语法

REGEXP 或 NOT REGEXP

SQL匹配模式 正则表达式匹配模式

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

SQL匹配模式

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

使用SQL匹配模式,不能使用操作符=或者!=,而是使用操作符LIKE或者NOT LIKE 使用SQL匹配模式,MYSQL提供两种通配符: ①%表示任意数量的任意字符 ②_表示的任意单个字符 使用SQL匹配模式,如果匹配格式中不包含以上两种通配符的任意一个,其查询效果等同于=或者!= 使用SQL匹配模式,默认情况下不区分大小写

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

SELECT * FROM user WHERE username like 'l%';SELECT * FROM user WHERE username like '%e';SELECT * FROM user WHERE username like '%o%';SELECT * FROM user WHERE username like '___';//三个_,表示username为三个字符的结果集SELECT * FROM user WHERE username like '_o%';//第二个字符为o

怎么理解上面这句话呢?

正则表达式匹配模式

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

. 匹配任意单个字符 * 匹配0个或多个在他前面的字符

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 '^...$';

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

以上这篇PHP模糊查询的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

[] 匹配括号中的任意字符

eg:[abc] 匹配字符a、b后者c [a-z] 匹配任何字母 [0-9] 匹配任何数字 [0-9]* 匹配任何数量的任何数字 [a-z]* 匹配任何数量的任何字母

^ 表示以某个字符或者字符串开头

eg:^a 表示以字母a开头

$ 表示已某个字符或者字符串结果

eg:s$ 表示以字母s结尾

使用正则表达式匹配模式使用的操作符:REGEXP 或者NOT REGEXP

SELECT * FROM user WHERE username REGEXP '^l';SELECT * FROM user WHERE username REGEXP '...';

PS:如果仅使用.通配符,有几个点通配符,假设N个,那么匹配模式表示大于等于N个

精确字符数

^...$ //表示只能为三个字符SELECT * FROM user WHERE username REGEXP '^...$';

案例

开发流程

源码分析

query;while($row = $result->fetch_assoc{ //简单高亮显示 // $row['username'] = str_replace($keywords, "".$keywords."",$row['username']); //高亮显示,不区分关键字的大小写 $usernameArr = preg_split/u',$row['username']); foreach ($usernameArr as $key => $value) { if == strtoupper{ $usernameArr[$key] = "".$value.""; } } $row['username'] = join; $usersArr[] = $row;}?> php用户查询器 php模糊查询 ".$keywords."结果!"; } $tableString = "

"; $tableString .= "

用户名

邮箱

性别

"; if{ foreach ($usersArr as $key => $value) { $tableString .= "

" . $value['username']. "

" . $value['email'] . "

".$value['sex']."

"; } }else{ $tableString .="

没有数据

"; } $tableString .= "

"; echo $tableString; ?>

源码下载地址:

点击此处本站下载

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组操作技巧大全》、《php字符串用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

本文由云顶集团官网手机版发布于编程,转载请注明出处:依赖输入的紧要字查找有关客户,2.利用sql相称情

上一篇:命令行输入 ‘php -i云顶集团官网手机版 | grep c 下一篇:没有了
猜你喜欢
热门排行
精彩图文