用mysql_fetch_array()獲取當(dāng)前行數(shù)據(jù)的方法詳解
更新時間:2013年06月05日 09:32:19 作者:
本篇文章是對使用mysql_fetch_array()獲取當(dāng)前行數(shù)據(jù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
同mysql_fetch_row()類似,函數(shù)mysql_fetch_array()也是獲取結(jié)果集中當(dāng)前行數(shù)據(jù),并在調(diào)用后自動滑向下一行。其定義如下。
array mysql_fetch_array(int result, int [result_type])
參數(shù)說明如下。
(1)result:由函數(shù)mysql_query()或mysql_db_query()返回的結(jié)果標(biāo)識,用來指定所要獲取的數(shù)據(jù)的SQL語句類型。
(2)result_type:用于指定結(jié)果集類型,可選,取值范圍為PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函數(shù)返回值如下。
成功:一個數(shù)組,該數(shù)組包含了查詢結(jié)果集中當(dāng)前行數(shù)據(jù)信息,數(shù)組下標(biāo)范圍0~記錄屬性數(shù)−1,數(shù)組中的第i個元素值為該記錄第i個屬性上的值。同時可以使用屬性名來得到該屬性上的值。
失?。篺alse。
下面示例使用mysql_fetch_array()得到Computers數(shù)據(jù)表中價格不小于20的圖書信息。
1 <!----使用mysql_fetch_array()來獲取數(shù)據(jù):mysql_fetch_array.php---->
2 <?php
3 //連接并選擇到數(shù)據(jù)庫服務(wù)器
4 $connection = mysql_connect ("localhost", "root", "password");
5 mysql_select_db("Books", $connection);
6 //查詢數(shù)據(jù)
7 $query="SELECT * FROM Computers ";
8 $query.="WHERE price >= 20";
9 //echo $query."<br>";
10 $result=mysql_query($query,$connection);
11 //mysql_fetch_array()獲得數(shù)據(jù),并輸出
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()獲取當(dāng)前行數(shù)據(jù),然后在第12~18行的循環(huán)中分別使用屬性索引和屬性名獲取這一行某屬性上的值。從中不難看出,mysql_fetch_array()與mysql_fetch_row()的區(qū)別在于,前者返回?cái)?shù)組中保存了結(jié)果集的兩個備份,一個可以通過屬性索引訪問,另一個則可以通過屬性名訪問。
注意
當(dāng)通過屬性名訪問屬性上的值時,如果有幾個屬性的名相同,則索引在后的屬性會把在前的屬性值覆蓋掉。因此,在使用屬性名獲得數(shù)據(jù)時,要避免查詢結(jié)果集中屬性重名。
示例運(yùn)行的結(jié)果如下。
書名: 數(shù)據(jù)結(jié)構(gòu)
價格: 20
出版日期: 2001-01-01
書名: C語言
價格: 23
出版日期: 1998-04-04
書名: PHP入門技術(shù)
價格: 22
出版日期: 2005-05-01
復(fù)制代碼 代碼如下:
array mysql_fetch_array(int result, int [result_type])
參數(shù)說明如下。
(1)result:由函數(shù)mysql_query()或mysql_db_query()返回的結(jié)果標(biāo)識,用來指定所要獲取的數(shù)據(jù)的SQL語句類型。
(2)result_type:用于指定結(jié)果集類型,可選,取值范圍為PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函數(shù)返回值如下。
成功:一個數(shù)組,該數(shù)組包含了查詢結(jié)果集中當(dāng)前行數(shù)據(jù)信息,數(shù)組下標(biāo)范圍0~記錄屬性數(shù)−1,數(shù)組中的第i個元素值為該記錄第i個屬性上的值。同時可以使用屬性名來得到該屬性上的值。
失?。篺alse。
下面示例使用mysql_fetch_array()得到Computers數(shù)據(jù)表中價格不小于20的圖書信息。
復(fù)制代碼 代碼如下:
1 <!----使用mysql_fetch_array()來獲取數(shù)據(jù):mysql_fetch_array.php---->
2 <?php
3 //連接并選擇到數(shù)據(jù)庫服務(wù)器
4 $connection = mysql_connect ("localhost", "root", "password");
5 mysql_select_db("Books", $connection);
6 //查詢數(shù)據(jù)
7 $query="SELECT * FROM Computers ";
8 $query.="WHERE price >= 20";
9 //echo $query."<br>";
10 $result=mysql_query($query,$connection);
11 //mysql_fetch_array()獲得數(shù)據(jù),并輸出
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()獲取當(dāng)前行數(shù)據(jù),然后在第12~18行的循環(huán)中分別使用屬性索引和屬性名獲取這一行某屬性上的值。從中不難看出,mysql_fetch_array()與mysql_fetch_row()的區(qū)別在于,前者返回?cái)?shù)組中保存了結(jié)果集的兩個備份,一個可以通過屬性索引訪問,另一個則可以通過屬性名訪問。
注意
當(dāng)通過屬性名訪問屬性上的值時,如果有幾個屬性的名相同,則索引在后的屬性會把在前的屬性值覆蓋掉。因此,在使用屬性名獲得數(shù)據(jù)時,要避免查詢結(jié)果集中屬性重名。
示例運(yùn)行的結(jié)果如下。
復(fù)制代碼 代碼如下:
書名: 數(shù)據(jù)結(jié)構(gòu)
價格: 20
出版日期: 2001-01-01
書名: C語言
價格: 23
出版日期: 1998-04-04
書名: PHP入門技術(shù)
價格: 22
出版日期: 2005-05-01
相關(guān)文章
將二維數(shù)組轉(zhuǎn)為一維數(shù)組的2種方法
在開發(fā)過程中,我們經(jīng)常需要將二維數(shù)組轉(zhuǎn)為一維數(shù)組,個人總結(jié)了2種方法,分享給大家2014-05-05PHP中register_globals參數(shù)為OFF和ON的區(qū)別(register_globals 使用詳解)
register_globals是php.ini里的一個配置,這個配置影響到php如何接收傳遞過來的參數(shù),如果你的問題是:為什么我的表單無法傳遞數(shù)據(jù)?為什么我的程序無法得到傳遞過來的變量?等等,那么你需要仔細(xì)的閱讀以下的內(nèi)容2012-02-02php實(shí)現(xiàn)過濾字符串中的中文和數(shù)字實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)過濾字符串中的中文和數(shù)字的方法,實(shí)例分析了php操作中文和數(shù)字匹配的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07PHP中全局變量global和$GLOBALS[]的區(qū)別分析
$GLOBALS['var']是外部的全局變量本身,global $var是外部$var的同名引用或者指針2012-08-08