《PHP學(xué)習(xí):PHP模糊查詢的實(shí)現(xiàn)方法(推薦)》要點(diǎn):
本文介紹了PHP學(xué)習(xí):PHP模糊查詢的實(shí)現(xiàn)方法(推薦),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
模式查詢 PHP實(shí)戰(zhàn)
1. SQL匹配模式PHP實(shí)戰(zhàn)
2. 正則表達(dá)式匹配模式(一般不推薦使用)PHP實(shí)戰(zhàn)
SQL匹配模式PHP實(shí)戰(zhàn)
1.使用sql匹配模式,不能使用操作符=或!=,而是使用操作符LIKE或NOT LIKE;PHP實(shí)戰(zhàn)
2.使用sql匹配模式,MYSQL提供了2種通配符.PHP實(shí)戰(zhàn)
%表示任意數(shù)量的任意字符(其中包括0個(gè))PHP實(shí)戰(zhàn)
_表示任意單個(gè)字符PHP實(shí)戰(zhàn)
3.使用sql匹配模式,如果匹配格式中不包含以上2種通配符中的任意一個(gè),其查詢的效果等同于=或!=PHP實(shí)戰(zhàn)
4.使用sql匹配模式,匹配時(shí),不區(qū)分大小寫
PHP實(shí)戰(zhàn)
#查詢用戶名以某個(gè)字符開(kāi)頭的用戶 #查詢用戶名以字符'l'開(kāi)頭的用戶: l% SELECT * FROM user WHERE username LIKE 'l%'; #查詢用戶名以某個(gè)字符結(jié)尾的用戶 #查詢用戶名以字符'e'結(jié)尾的用戶:e% SELECT * FROM user WHERE username LIKE 'e%'; #查詢用戶名包含某個(gè)字符的用戶 #查詢用戶名包含字符'o'的用戶:%o% SELECT * FROM user WHERE username LIKE '%o%'; #查詢包含三個(gè)字符的用戶 SELECT * FROM user WHERE username LIKE '___'; #查詢用戶名第二個(gè)字符為o的用戶:_o% SELECT * FROM user WHERE username LIKE '_o%';
正則表達(dá)式匹配模式PHP實(shí)戰(zhàn)
通配符(正則表達(dá)式)PHP實(shí)戰(zhàn)
.匹配任意的單個(gè)字符PHP實(shí)戰(zhàn)
*匹配0個(gè)或多個(gè)在它前面的字符PHP實(shí)戰(zhàn)
x*表示匹配任何數(shù)量的x字符PHP實(shí)戰(zhàn)
??? [..]匹配中括號(hào)中的任意字符
??? [abc]匹配字符ab或c
??? [a-z]匹配任意字母
??? [0-9]匹配任意數(shù)字
??? [0-9]*匹配任意數(shù)量的任何數(shù)字
??? [a-z]*匹配任何數(shù)量的字母PHP實(shí)戰(zhàn)
^表示以某個(gè)字符或字符串開(kāi)始
??
??? ^a 表示以字母a開(kāi)頭PHP實(shí)戰(zhàn)
$表示以某個(gè)字符或字符串結(jié)尾
??
??? s$表示以字母s結(jié)尾PHP實(shí)戰(zhàn)
使用正則表達(dá)式匹配模式使用的操作符是:PHP實(shí)戰(zhàn)
REGEXP 或 NOT REGEXP(RLIKE 或 NOT RLIKE)PHP實(shí)戰(zhàn)
注意:正則表達(dá)式匹配模式,其正則表達(dá)式出現(xiàn)在匹配字段的任意位置,PHP實(shí)戰(zhàn)
其模式就算匹配了,不必在兩側(cè)放一個(gè)通配符來(lái)使得其匹配;PHP實(shí)戰(zhàn)
如果僅用通配符 . 來(lái)匹配,假設(shè)N個(gè),那么其匹配模式表示,大于等于N個(gè);PHP實(shí)戰(zhàn)
怎么理解上面這句話呢?PHP實(shí)戰(zhàn)
就是說(shuō)PHP實(shí)戰(zhàn)
...?? 匹配大于等于3個(gè)字符的數(shù)據(jù)
....? 匹配大于等于4個(gè)字符的數(shù)據(jù)
#查詢用戶名以字符 l開(kāi)頭的用戶:^l;
#正則表達(dá)式寫法PHP實(shí)戰(zhàn)
SELECT * FROM user WHERE username REGEXP '^l'; #sql匹配模式寫法: SELECT * FROM user WHERE username LIKE 'l%'; #查詢用戶名正好是三個(gè)字符的用戶:^...$; #sql匹配模式寫法: SELECT * FROM user WHERE username LIKE '___'; #正則表達(dá)式寫法 SELECT * FROM user WHERE username REGEXP '^...$';
以上這篇PHP模糊查詢的實(shí)現(xiàn)方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持維易PHP.PHP實(shí)戰(zhàn)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/3934.html