PHP從數(shù)據(jù)庫提取并顯示數(shù)據(jù)的典型代碼如下:
創(chuàng)新互聯(lián)公司專業(yè)做網(wǎng)站、成都網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
?php
//連接數(shù)據(jù)庫,三個參數(shù):數(shù)據(jù)庫服務(wù)器IP,用戶名,密碼
if(mysql_connect('127.0.0.1',?'root',?'123456')){
//數(shù)據(jù)庫連接成功,開始查詢,下面是SQL語句
//此例子SQL查詢數(shù)據(jù)庫test里面的表tab,假設(shè)有一個數(shù)值字段score,查詢其值大于60的數(shù)據(jù)行
$sql="select?from?test.tab?where?score60";
if?($res=mysql_query($sql)){
//數(shù)據(jù)庫查詢執(zhí)行成功
while($row=mysql_fetch_array($res)){
//循環(huán)查詢滿足條件的所有記錄
echo?'姓名:'.$row['name']?.?'成績:'.?$row['score'].?'br';
}
//刪除查詢
mysql_free_result($res);
}else?echo?"執(zhí)行數(shù)據(jù)庫查詢失敗,語句:?$sqlbr原因:".mysql_error();
//關(guān)閉數(shù)據(jù)庫
mysql_close();
}else?echo?"數(shù)據(jù)庫連接失敗,原因是:".mysql_error()l
//?這是因?yàn)槟銖馁Y源型結(jié)果集中獲取數(shù)據(jù)時只獲取了一次,?如果查詢?yōu)槎鄺l數(shù)據(jù)應(yīng)該迭代資源型結(jié)果集
$r?=?mysql_query($sql);??//?你的結(jié)果集
$result?=?[];
while?(true)?{
$ary?=?mysql_fetch_assoc($r);??//?取出第一條數(shù)據(jù),?數(shù)據(jù)指針向后移動一位
if?($ary)?{
$result[]?=?$ary;???//?存儲到結(jié)果數(shù)組中
}?else?{
break;??//?如果取出的結(jié)果為false,?則代表數(shù)據(jù)獲取完畢,?終止循環(huán)
}
}
echo?'pre';
print_r($result);???//?打印最終結(jié)果
echo?'/pre';
結(jié)果已經(jīng)有了,我就說下這句話的區(qū)別
mysql_select_db,字面上就能理解,選擇數(shù)據(jù)庫
去PHP手冊中可以發(fā)現(xiàn)該函數(shù)的返回值是bool,也就是布爾值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是確定操作是否成功
$result = mysql_query($sql, $link); // 執(zhí)行查詢語句
是執(zhí)行查詢語句,這時返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
資源符號,通過var_dump($result)可以看到該變量的類型,不是數(shù)組
隨后通過mysql_fetch_array($result);獲取實(shí)際查詢語句所能獲取的數(shù)據(jù)
每次操作,返回一行數(shù)據(jù)
該操作會變相的移動該資源的指針,PHP的概念里面沒有指針,但需要知道該函數(shù)可以多次執(zhí)行
概念和foreach一致
所以通過
while ($bookInfo = mysql_fetch_array($result)){
}
可以獲取所有的行數(shù)據(jù)
如果沒有數(shù)據(jù)會返回false,所以while會自動停止循環(huán)