亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP項目中實現一個模糊查詢功能

發布時間:2020-12-23 16:16:21 來源:億速云 閱讀:337 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在PHP項目中實現一個模糊查詢功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

模式查詢

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項目中實現一個模糊查詢功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特左旗| 贺兰县| 海林市| 和平县| 始兴县| 平江县| 安吉县| 准格尔旗| 那曲县| 东兰县| 石家庄市| 航空| 松江区| 河西区| 嘉祥县| 古浪县| 安溪县| 天水市| 嵊州市| 丰顺县| 台南市| 阜平县| 长汀县| 连江县| 陆丰市| 十堰市| 禹州市| 汤阴县| 泰和县| 江门市| 江西省| 黑河市| 侯马市| 保山市| 苍山县| 榆树市| 壤塘县| 东丰县| 万盛区| 青河县| 开化县|