Home >Backend Development >PHP Tutorial >对慕课网 php模糊查询技术 的学习
①.针对数据库的设计
密码如果是md5的话,就用char(32),如果是存一半的数据的话,就用char。
性别,正常的开发是用int的。
输入条件,有default设置默认值
key 表示添加索引,对指定字段简历一个索引
索引的好处:如果按照某一个条件去检索数据,如果没有这个条件字段没有建立索引,查询的时候是会遍历整张表,如果你建立了索引,查询的时候就会索引来查询,进而提高查询性能。
②.sql匹配模式注意事项
1、使用sql匹配模式,不能使用操作符=或!=
而是使用操作符like或not like
2、使用sql匹配模式,mysql提供了2种通配符。
%(百分号):表示任意数量的任意字符
_(下划线):表示任意单个字符
3、使用mysql匹配模式,如果匹配格式中不包含以上2种通配符中的任意一个,
其查询效果等同于=或!=
4.使用sql匹配模式默认情况下是不区分大小写的
③.
通配符使用;
0.默认情况下不区分大小写
1.%开头或结尾%。
2.%%包含。
3._%等几个开头或结尾
3.长度_.
④正则表达式 匹配符
.匹配任意单个字符
*匹配0个或多个在它前面的字符
a*表示匹配任意数量的a字符
[..]匹配中括号的任意字符
[abc] 匹配字符 a b 或 c
[a-z] 匹配任何字符
[0-9] 匹配任何数字
[0-9]* 匹配任何数量的任何数字
[a-z]* 匹配任何数量的任何字符
^表示以某个字符或字符串开始
^a 以字母a开头
$表示以某个字符或字符串结尾
a$ 表示以字母a结尾
⑤使用正则表达式匹配模式使用的操作符
1.regexp 或 not regexp;(RLIKE 或者NOT RLIKE)
如果使用一个正则表达式来匹配,其模式有别于sql模式
sql语句 select * from user where username REGEXP ‘正则’;
正则表达式和sql匹配模式的区别
获取有几个字符的字段,需要加上开始符号和结束符号 不然会有几个通配符 . 就回去判断大大于那个数字的就好了
error_reporting(0);屏蔽所有错误.开发中不建议使用,上市可以。
$row['username'] = str_replace($keywords,"<font color='red'>".$keywords."</font>",$row['username']); //关键词高亮
版权声明:本文为博主原创文章,未经博主允许不得转载。