程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用mysql_fetch_array()獲取當前行數據的方法詳解

用mysql_fetch_array()獲取當前行數據的方法詳解

編輯:關於PHP編程

同mysql_fetch_row()類似,函數mysql_fetch_array()也是獲取結果集中當前行數據,並在調用後自動滑向下一行。其定義如下。
復制代碼 代碼如下:
array mysql_fetch_array(int result, int [result_type])

參數說明如下。
(1)result:由函數mysql_query()或mysql_db_query()返回的結果標識,用來指定所要獲取的數據的SQL語句類型。
(2)result_type:用於指定結果集類型,可選,取值范圍為PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函數返回值如下。
成功:一個數組,該數組包含了查詢結果集中當前行數據信息,數組下標范圍0~記錄屬性數−1,數組中的第i個元素值為該記錄第i個屬性上的值。同時可以使用屬性名來得到該屬性上的值。
失敗:false。
下面示例使用mysql_fetch_array()得到Computers數據表中價格不小於20的圖書信息。
復制代碼 代碼如下:
1    <!----使用mysql_fetch_array()來獲取數據:mysql_fetch_array.php---->
2        <?php
3        //連接並選擇到數據庫服務器
4        $connection = mysql_connect ("localhost", "root", "password");
5        mysql_select_db("Books", $connection);
6        //查詢數據
7        $query="SELECT * FROM Computers ";
8        $query.="WHERE price >= 20";
9        //echo $query."<br>";
10       $result=mysql_query($query,$connection);
11       //mysql_fetch_array()獲得數據,並輸出
12       while($row=mysql_fetch_array($result))
13       {
14            echo "書名:    ".$row[1]."<br>";
15            echo "價格:    ".$row["price"]."<br>";
16            echo "出版日期:    ".$row["publish_date"]."<br>";
17            echo "<br>";
18       }
19   ?>

示例在第12行使用mysql_fetch_array()獲取當前行數據,然後在第12~18行的循環中分別使用屬性索引和屬性名獲取這一行某屬性上的值。從中不難看出,mysql_fetch_array()與mysql_fetch_row()的區別在於,前者返回數組中保存了結果集的兩個備份,一個可以通過屬性索引訪問,另一個則可以通過屬性名訪問。
注意
當通過屬性名訪問屬性上的值時,如果有幾個屬性的名相同,則索引在後的屬性會把在前的屬性值覆蓋掉。因此,在使用屬性名獲得數據時,要避免查詢結果集中屬性重名。
示例運行的結果如下。
復制代碼 代碼如下:
書名: 數據結構
價格: 20
出版日期: 2001-01-01
書名: C語言
價格: 23
出版日期: 1998-04-04
書名: PHP入門技術
價格: 22
出版日期: 2005-05-01

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved