使用者表(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...