揭秘PHP模糊查詢技術

2021-08-22 04:50:45 字數 3018 閱讀 9368

使用者表(user):

create

table

user(

`uid`

int(10) auto_increment primary

key comment '使用者id',

`username`

varchar(30) not

null

default

'' comment '使用者名稱',

`password`

varchar(6) not

null

default

'' comment '密碼',

`***`

char(2) not

null

default

'保密' comment '性別',

`email`

varchar(40) not

null

default

'' comment '郵箱',

`hobby`

varchar(255) not

null

default

'' comment '興趣愛好',

key`username`(`username`)//索引

)engine=myisam default charset=utf8 comment='使用者表'

索引的好處:

如果按照某個條件去檢索資料,如果這個條件字段沒有建立索引,查詢的時候是會遍歷整張表,如果你建立了索引,查詢的時候就會根據索引來查詢,進而提高查詢效能

sql匹配模式
**實現:

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

正規表示式匹配模式
eg

:x* 表示匹配任何數量的x字元

eg:[abc] 匹配字元a、b後者c

[a-z] 匹配任何字母

[0-9] 匹配任何數字

[0-9]* 匹配任何數量的任何數字

[a-z]* 匹配任何數量的任何字母

eg:^a 表示以字母a開頭
eg:s$ 表示以字母s結尾
code:

select * from

user

where username regexp '^l';

select * from

user

where username regexp '...';

ps:如果僅使用.萬用字元,有幾個點萬用字元,假設n個,那麼匹配模式表示大於等於n個

^...$          //表示只能為三個字元

//關鍵字

$keywords = isset($_post['keywords'])?$_post['keywords']:'';

//連線資料庫,php7廢棄了mysql_connect推薦使用mysqli_connect

$link = mysqli_connect(

"localhost:3306",

"root",

"root",

"mook"

);if(!empty($keywords))%' ";

}else

$usersarr = ;

$result = $link->query($sql);

while($row = $result->fetch_assoc())

}$row['username'] = join($usernamearr);

$usersarr = $row;

}?>

<?php

if(!empty($keywords))

$tablestring = "";

$tablestring .= "使用者名稱

郵箱性別

"; if(!empty($usersarr))

}else

$tablestring .= "";

echo

$tablestring;

?>

PHP的模糊查詢

以上為模糊查詢的流程圖。為了方便演示,需要建立乙個簡單地資料庫表。key username username 是索引,非常重要。索引的好處 如果按照某個條件去檢索資料,如果這個條件字段沒有建立索引,查詢的時候會遍歷整張表,如果你建立了索引,查詢的時候就會根據索引來查詢,進而提高查詢效能。精確查詢 返...

php 陣列模糊查詢

乙個陣列中有多個值,現在需要輸入某個字串,要模糊查詢出所有帶有這個字串的陣列中的值,該如何實現呢?看例子 keywords dd arrays array 0 db aabbccddee 1 aabbccdd 2 aaa 3 aabb 4 aabbcc 5 aabbccddeeff arr arra...

PHP多條件模糊查詢

所使用的方法 sqlarr array array push implode 原理,一 建立sql語句前半句,並且建立乙個空陣列。二 根據條件是否為空來判斷是否向陣列中新增元素。如果不為空,使用array push 方法來新增,第乙個引數為陣列名稱,第二個引數為值。三 全部條件判斷完畢用implod...