如果用了 MYSQL_BOTH,將得到一個(gè)同時(shí)包含關(guān)聯(lián)和數(shù)字索引的數(shù)組。
用 MYSQL_ASSOC 只得到關(guān)聯(lián)索引(如同mysql_fetch_assoc() 那樣),
用 MYSQL_NUM 只得到數(shù)字索引(如同 mysql_fetch_row 那樣)。
1. mysql_fetch_array($rs,MYSQL_ASSOC)
[@test01 model]# php test.php Array ( [name] => hellokitty [addr] => i dont kno ) [@test01 model]# more test.php ?php $link=mysql_connect("10.12.136.181","hello","hello"); if(!$link) echo "沒(méi)有連接成功!"; mysql_select_db("hhhhh", $link); $q = "SELECT * FROM hello"; mysql_query("SET NAMES GB2312"); $rs = mysql_query($q); if(!$rs) { die("Valid result!"); } $result=mysql_fetch_array($rs,MYSQL_ASSOC); print_r($result); mysql_free_result($rs); ?>
2.mysql_fetch_array($rs,MYSQL_BOTH);獲取數(shù)組
[@test01 model]# more test.php ?php $link=mysql_connect("10.12.136.181","hello","hello"); if(!$link) echo "沒(méi)有連接成功!"; mysql_select_db("hhhhh", $link); $q = "SELECT * FROM hello"; mysql_query("SET NAMES GB2312"); $rs = mysql_query($q); if(!$rs) { die("Valid result!"); } $result=mysql_fetch_array($rs,MYSQL_ASSOC); print_r($result); mysql_free_result($rs); ?> [@test01 model]# vim test.php [@test01 model]# php test.php Array ( [0] => hellokitty [name] => hellokitty [1] => i dont kno [addr] => i dont kno ) [@test01 model]#
3.mysql_fetch_array($rs,MYSQL_NUM) 獲取數(shù)組
[@test01 model]# php test.php Array ( [0] => hellokitty [1] => i dont kno ) [@test01 model]# more test.php ?php $link=mysql_connect("10.12.136.181","hello","hello"); if(!$link) echo "沒(méi)有連接成功!"; mysql_select_db("hhhhh", $link); $q = "SELECT * FROM hello"; mysql_query("SET NAMES GB2312"); $rs = mysql_query($q); if(!$rs) { die("Valid result!"); } $result=mysql_fetch_array($rs,MYSQL_NUM); print_r($result); mysql_free_result($rs); ?> [@test01 model]#
下面是補(bǔ)充:
php獲取結(jié)果集的幾個(gè)方法
?php $conn=mysql_connect("localhost","root",""); $select=mysql_select_db("books",$conn); $query="insert into computers(name,price,publish_data) "; $query.="values('JSP',28.00,'2008-11-1')"; $query="select * from computers"; $result=mysql_query($query); //以下是使用mysql_result()函數(shù)來(lái)獲取到查詢結(jié)果 $num=mysql_num_rows($result); for($rows_count=0;$rows_count$num;$rows_count++){ echo "書(shū)名:".mysql_result($result,$rows_count,"name"); echo "價(jià)格:".mysql_result($result,$rows_count,"price"); echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."br>"; } //以下是使用mysql_fetch_row()函數(shù)來(lái)獲取到查詢結(jié)果 while($row=mysql_fetch_row($result)) { echo "書(shū)號(hào):".$row[0]."br>"; echo "書(shū)名:".$row[1]."br>"; echo "價(jià)格:".$row[2]."br>"; echo "出版日期:".$row[3]."br>"; echo "br>"; } //以下是使用mysql_fetch_array()函數(shù)來(lái)獲取到查詢結(jié)果 while($row=mysql_fetch_array($result)) { echo "書(shū)號(hào):".$row[0]."br>"; echo "書(shū)名:".$row[1]."br>"; echo "價(jià)格:".$row["price"]."br>"; echo "出版日期:".$row["publish_data"]."br>"; echo "br>"; } //mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一樣 while($row = mysql_fetch_assoc($res)){ echo $row['price'].'::'.$row['publish_data'].”; } //$row[0]不能取值 //以下是使用mysql_fetch_object()函數(shù)來(lái)獲取到查詢結(jié)果 while($row=mysql_fetch_object($result)) { echo "書(shū)號(hào):".$row->id."br>"; echo "書(shū)名:".$row->name."br>"; echo "價(jià)格:".$row->price."br>"; echo "出版日期:".$row->publish_data."br>"; echo "br>"; } ?>
綜合比較
本節(jié)主要介紹了獲取查詢結(jié)果集的4個(gè)函數(shù),此處對(duì)它們進(jìn)行綜合比較。
● mysql_result():優(yōu)點(diǎn)在于使用方便;而缺點(diǎn)在于功能少,一次調(diào)用只能獲取結(jié)果數(shù)據(jù)集中的一行記錄,對(duì)較大型的數(shù)據(jù)庫(kù)效率較低。
● mysql_fetch_row():優(yōu)點(diǎn)在于執(zhí)行效率在4種方法中最高;不足在于只能用數(shù)字作為屬性索引來(lái)獲得屬性值,在使用時(shí)非常容易出現(xiàn)混淆。
● mysql_fetch_array():執(zhí)行效率同樣很高,同mysql_fetch_row()相差無(wú)幾,并且可以用屬性名方式直接獲取得屬性值,因此,在實(shí)際應(yīng)用中最常用。
● mysql_fetch_object():采用了面向?qū)ο蟮乃枷?,在設(shè)計(jì)思路上更為先進(jìn),如果讀者習(xí)慣于面向?qū)ο蟮乃悸穪?lái)寫程序,則會(huì)很自然的選擇它。其次,該方法的優(yōu)點(diǎn)還體現(xiàn)在,對(duì)于結(jié)構(gòu)較為復(fù)雜的數(shù)據(jù)結(jié)果,在邏輯上顯得更為清晰。
后3個(gè)函數(shù)的共同點(diǎn)在于,都是取得當(dāng)前行的數(shù)據(jù),然后自動(dòng)滑向后一行。有時(shí)候,希望控制滑動(dòng)的行數(shù),這是常常搭配使用的一個(gè)函數(shù)是mysql_data_seek(),其定義為:
int mysql_data_seek(int result_identifier,int row_number)
調(diào)用該函數(shù)可以在結(jié)果集中向后滑動(dòng)row_number行,在下一次調(diào)用mysql_fetch_*函數(shù)時(shí),讀取的將是向后滑動(dòng)row_number行后的記錄。
標(biāo)簽:定西 迪慶 十堰 樂(lè)山 海南 佛山 六安 南寧
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php操作mysql獲取select 結(jié)果的幾種方法》,本文關(guān)鍵詞 php,操作,mysql,獲取,select,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。