Home  >  Article  >  Backend Development  >  对慕课网 - php模糊查询技术 的学习

对慕课网 - php模糊查询技术 的学习

WBOY
WBOYOriginal
2016-06-13 12:23:511167browse

对慕课网 -- 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匹配模式的区别
正则表达式和sql匹配模式的区别

获取有几个字符的字段,需要加上开始符号和结束符号 不然会有几个通配符 . 就回去判断大大于那个数字的就好了
获取有几个字符的字段

error_reporting(0);屏蔽所有错误.开发中不建议使用,上市可以。

<code class=" hljs ruby"><span class="hljs-variable">$row</span>[<span class="hljs-string">'username'</span>] = str_replace(<span class="hljs-variable">$keywords</span>,<span class="hljs-string">"<font color='red'>"</span>.<span class="hljs-variable">$keywords</span>.<span class="hljs-string">"</font>"</span>,<span class="hljs-variable">$row</span>[<span class="hljs-string">'username'</span>]); <span class="hljs-regexp">//</span>关键词高亮</code>

版权声明:本文为博主原创文章,未经博主允许不得转载。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn