主頁 > 知識庫 > php操作mysql獲取select 結(jié)果的幾種方法

php操作mysql獲取select 結(jié)果的幾種方法

熱門標簽:銀行業(yè)務(wù) 電子圍欄 團購網(wǎng)站 Linux服務(wù)器 科大訊飛語音識別系統(tǒng) 服務(wù)器配置 阿里云 Mysql連接數(shù)設(shè)置

如果用了 MYSQL_BOTH,將得到一個同時包含關(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 "沒有連接成功!"; 
 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 "沒有連接成功!"; 
 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 "沒有連接成功!"; 
 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]# 

下面是補充:

php獲取結(jié)果集的幾個方法

?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ù)來獲取到查詢結(jié)果 
 $num=mysql_num_rows($result); 
 for($rows_count=0;$rows_count$num;$rows_count++){ 
 echo "書名:".mysql_result($result,$rows_count,"name"); 
 echo "價格:".mysql_result($result,$rows_count,"price"); 
 echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."br>"; 
 } 
  //以下是使用mysql_fetch_row()函數(shù)來獲取到查詢結(jié)果 
  while($row=mysql_fetch_row($result)) 
 { 
 echo "書號:".$row[0]."br>"; 
 echo "書名:".$row[1]."br>"; 
 echo "價格:".$row[2]."br>"; 
 echo "出版日期:".$row[3]."br>"; 
 echo "br>"; 
 } 
 //以下是使用mysql_fetch_array()函數(shù)來獲取到查詢結(jié)果 
 while($row=mysql_fetch_array($result)) 
 { 
 echo "書號:".$row[0]."br>"; 
 echo "書名:".$row[1]."br>"; 
 echo "價格:".$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ù)來獲取到查詢結(jié)果 
 while($row=mysql_fetch_object($result)) 
 { 
 echo "書號:".$row->id."br>"; 
 echo "書名:".$row->name."br>"; 
 echo "價格:".$row->price."br>"; 
 echo "出版日期:".$row->publish_data."br>"; 
 echo "br>";  
 } 
?>

綜合比較

本節(jié)主要介紹了獲取查詢結(jié)果集的4個函數(shù),此處對它們進行綜合比較。
● mysql_result():優(yōu)點在于使用方便;而缺點在于功能少,一次調(diào)用只能獲取結(jié)果數(shù)據(jù)集中的一行記錄,對較大型的數(shù)據(jù)庫效率較低。
● mysql_fetch_row():優(yōu)點在于執(zhí)行效率在4種方法中最高;不足在于只能用數(shù)字作為屬性索引來獲得屬性值,在使用時非常容易出現(xiàn)混淆。
● mysql_fetch_array():執(zhí)行效率同樣很高,同mysql_fetch_row()相差無幾,并且可以用屬性名方式直接獲取得屬性值,因此,在實際應(yīng)用中最常用。
● mysql_fetch_object():采用了面向?qū)ο蟮乃枷?,在設(shè)計思路上更為先進,如果讀者習慣于面向?qū)ο蟮乃悸穪韺懗绦?,則會很自然的選擇它。其次,該方法的優(yōu)點還體現(xiàn)在,對于結(jié)構(gòu)較為復雜的數(shù)據(jù)結(jié)果,在邏輯上顯得更為清晰。

后3個函數(shù)的共同點在于,都是取得當前行的數(shù)據(jù),然后自動滑向后一行。有時候,希望控制滑動的行數(shù),這是常常搭配使用的一個函數(shù)是mysql_data_seek(),其定義為:

int mysql_data_seek(int result_identifier,int row_number)

調(diào)用該函數(shù)可以在結(jié)果集中向后滑動row_number行,在下一次調(diào)用mysql_fetch_*函數(shù)時,讀取的將是向后滑動row_number行后的記錄。

您可能感興趣的文章:
  • PHP入門教程之PHP操作MySQL的方法分析
  • PHP操作mysql數(shù)據(jù)庫分表的方法
  • Mac環(huán)境下php操作mysql數(shù)據(jù)庫的方法分享
  • 一款簡單實用的php操作mysql數(shù)據(jù)庫類
  • PHP操作MySQL的常用代碼段梳理與總結(jié)

標簽:廣元 萍鄉(xiāng) 大理 衡水 蚌埠 衢州 江蘇 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標題《php操作mysql獲取select 結(jié)果的幾種方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266