溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何操作php中的mysql獲取查詢結果

發(fā)布時間:2020-07-23 16:38:56 來源:億速云 閱讀:225 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關如何操作php中的mysql獲取查詢結果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

php操作mysql獲取查詢結果的方法:1、使用【mysql_fetch_array($rs,MYSQL_ASSOC)】函數;2、使用【mysql_fetch_array($rs,MYSQL_BOTH);】函數獲取數組。

php操作mysql獲取查詢結果的方法:

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);獲取數組

[@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) 獲取數組

[@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獲取結果集的幾個方法

<?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()函數來獲取到查詢結果 
 $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()函數來獲取到查詢結果 
  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()函數來獲取到查詢結果 
 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()函數來獲取到查詢結果 
 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é)主要介紹了獲取查詢結果集的4個函數,此處對它們進行綜合比較。

  • mysql_result():優(yōu)點在于使用方便;而缺點在于功能少,一次調用只能獲取結果數據集中的一行記錄,對較大型的數據庫效率較低。

  • mysql_fetch_row():優(yōu)點在于執(zhí)行效率在4種方法中最高;不足在于只能用數字作為屬性索引來獲得屬性值,在使用時非常容易出現混淆。

  • mysql_fetch_array():執(zhí)行效率同樣很高,同mysql_fetch_row()相差無幾,并且可以用屬性名方式直接獲取得屬性值,因此,在實際應用中最常用。

  • mysql_fetch_object():采用了面向對象的思想,在設計思路上更為先進,如果讀者習慣于面向對象的思路來寫程序,則會很自然的選擇它。其次,該方法的優(yōu)點還體現在,對于結構較為復雜的數據結果,在邏輯上顯得更為清晰。

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

int mysql_data_seek(int result_identifier,int row_number)

調用該函數可以在結果集中向后滑動row_number行,在下一次調用mysql_fetch_*函數時,讀取的將是向后滑動row_number行后的記錄。


看完上述內容,你們對如何操作php中的mysql獲取查詢結果有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI