用mysql_fetch_array()獲取當(dāng)前行數(shù)據(jù)的方法詳解
更新時(shí)間:2013年06月05日 09:32:19 作者:
本篇文章是對(duì)使用mysql_fetch_array()獲取當(dāng)前行數(shù)據(jù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
同mysql_fetch_row()類(lèi)似,函數(shù)mysql_fetch_array()也是獲取結(jié)果集中當(dāng)前行數(shù)據(jù),并在調(diào)用后自動(dòng)滑向下一行。其定義如下。
array mysql_fetch_array(int result, int [result_type])
參數(shù)說(shuō)明如下。
(1)result:由函數(shù)mysql_query()或mysql_db_query()返回的結(jié)果標(biāo)識(shí),用來(lái)指定所要獲取的數(shù)據(jù)的SQL語(yǔ)句類(lèi)型。
(2)result_type:用于指定結(jié)果集類(lèi)型,可選,取值范圍為PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函數(shù)返回值如下。
成功:一個(gè)數(shù)組,該數(shù)組包含了查詢(xún)結(jié)果集中當(dāng)前行數(shù)據(jù)信息,數(shù)組下標(biāo)范圍0~記錄屬性數(shù)−1,數(shù)組中的第i個(gè)元素值為該記錄第i個(gè)屬性上的值。同時(shí)可以使用屬性名來(lái)得到該屬性上的值。
失敗:false。
下面示例使用mysql_fetch_array()得到Computers數(shù)據(jù)表中價(jià)格不小于20的圖書(shū)信息。
1 <!----使用mysql_fetch_array()來(lái)獲取數(shù)據(jù):mysql_fetch_array.php---->
2 <?php
3 //連接并選擇到數(shù)據(jù)庫(kù)服務(wù)器
4 $connection = mysql_connect ("localhost", "root", "password");
5 mysql_select_db("Books", $connection);
6 //查詢(xún)數(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 "書(shū)名: ".$row[1]."<br>";
15 echo "價(jià)格: ".$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é)果集的兩個(gè)備份,一個(gè)可以通過(guò)屬性索引訪(fǎng)問(wèn),另一個(gè)則可以通過(guò)屬性名訪(fǎng)問(wèn)。
注意
當(dāng)通過(guò)屬性名訪(fǎng)問(wèn)屬性上的值時(shí),如果有幾個(gè)屬性的名相同,則索引在后的屬性會(huì)把在前的屬性值覆蓋掉。因此,在使用屬性名獲得數(shù)據(jù)時(shí),要避免查詢(xún)結(jié)果集中屬性重名。
示例運(yùn)行的結(jié)果如下。
書(shū)名: 數(shù)據(jù)結(jié)構(gòu)
價(jià)格: 20
出版日期: 2001-01-01
書(shū)名: C語(yǔ)言
價(jià)格: 23
出版日期: 1998-04-04
書(shū)名: PHP入門(mén)技術(shù)
價(jià)格: 22
出版日期: 2005-05-01
復(fù)制代碼 代碼如下:
array mysql_fetch_array(int result, int [result_type])
參數(shù)說(shuō)明如下。
(1)result:由函數(shù)mysql_query()或mysql_db_query()返回的結(jié)果標(biāo)識(shí),用來(lái)指定所要獲取的數(shù)據(jù)的SQL語(yǔ)句類(lèi)型。
(2)result_type:用于指定結(jié)果集類(lèi)型,可選,取值范圍為PHP常量集合{MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH}。
函數(shù)返回值如下。
成功:一個(gè)數(shù)組,該數(shù)組包含了查詢(xún)結(jié)果集中當(dāng)前行數(shù)據(jù)信息,數(shù)組下標(biāo)范圍0~記錄屬性數(shù)−1,數(shù)組中的第i個(gè)元素值為該記錄第i個(gè)屬性上的值。同時(shí)可以使用屬性名來(lái)得到該屬性上的值。
失敗:false。
下面示例使用mysql_fetch_array()得到Computers數(shù)據(jù)表中價(jià)格不小于20的圖書(shū)信息。
復(fù)制代碼 代碼如下:
1 <!----使用mysql_fetch_array()來(lái)獲取數(shù)據(jù):mysql_fetch_array.php---->
2 <?php
3 //連接并選擇到數(shù)據(jù)庫(kù)服務(wù)器
4 $connection = mysql_connect ("localhost", "root", "password");
5 mysql_select_db("Books", $connection);
6 //查詢(xún)數(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 "書(shū)名: ".$row[1]."<br>";
15 echo "價(jià)格: ".$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é)果集的兩個(gè)備份,一個(gè)可以通過(guò)屬性索引訪(fǎng)問(wèn),另一個(gè)則可以通過(guò)屬性名訪(fǎng)問(wèn)。
注意
當(dāng)通過(guò)屬性名訪(fǎng)問(wèn)屬性上的值時(shí),如果有幾個(gè)屬性的名相同,則索引在后的屬性會(huì)把在前的屬性值覆蓋掉。因此,在使用屬性名獲得數(shù)據(jù)時(shí),要避免查詢(xún)結(jié)果集中屬性重名。
示例運(yùn)行的結(jié)果如下。
復(fù)制代碼 代碼如下:
書(shū)名: 數(shù)據(jù)結(jié)構(gòu)
價(jià)格: 20
出版日期: 2001-01-01
書(shū)名: C語(yǔ)言
價(jià)格: 23
出版日期: 1998-04-04
書(shū)名: PHP入門(mén)技術(shù)
價(jià)格: 22
出版日期: 2005-05-01
您可能感興趣的文章:
- mysql 獲取規(guī)定時(shí)間段內(nèi)的統(tǒng)計(jì)數(shù)據(jù)
- PHP+mysql實(shí)現(xiàn)從數(shù)據(jù)庫(kù)獲取下拉樹(shù)功能示例
- SQL獲取第一條記錄的方法(sqlserver、oracle、mysql數(shù)據(jù)庫(kù))
- mysql中獲取一天、一周、一月時(shí)間數(shù)據(jù)的各種sql語(yǔ)句寫(xiě)法
- mysql獲取隨機(jī)數(shù)據(jù)的方法
- 詳解mysql 獲取某個(gè)時(shí)間段每一天、每一個(gè)小時(shí)的統(tǒng)計(jì)數(shù)據(jù)
相關(guān)文章
將二維數(shù)組轉(zhuǎn)為一維數(shù)組的2種方法
在開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要將二維數(shù)組轉(zhuǎn)為一維數(shù)組,個(gè)人總結(jié)了2種方法,分享給大家2014-05-05PHP數(shù)組實(shí)例總結(jié)與說(shuō)明
PHP中共有超過(guò)30個(gè)新的數(shù)組相關(guān)函數(shù),其中很多通用函數(shù)允許您檢查給定數(shù)組中是否存在特定對(duì)象、對(duì)數(shù)組元素計(jì)數(shù)、增加或刪除元素,或?qū)υ嘏判颉?2011-08-08PHP中register_globals參數(shù)為OFF和ON的區(qū)別(register_globals 使用詳解)
register_globals是php.ini里的一個(gè)配置,這個(gè)配置影響到php如何接收傳遞過(guò)來(lái)的參數(shù),如果你的問(wèn)題是:為什么我的表單無(wú)法傳遞數(shù)據(jù)?為什么我的程序無(wú)法得到傳遞過(guò)來(lái)的變量?等等,那么你需要仔細(xì)的閱讀以下的內(nèi)容2012-02-02php實(shí)現(xiàn)過(guò)濾字符串中的中文和數(shù)字實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)過(guò)濾字符串中的中文和數(shù)字的方法,實(shí)例分析了php操作中文和數(shù)字匹配的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07ThinkPHP自動(dòng)驗(yàn)證失敗的解決方法
引用ThinkPHP2.0開(kāi)發(fā)手冊(cè):ThinkPHP手冊(cè)類(lèi)型檢查只是針對(duì)數(shù)據(jù)庫(kù)級(jí)別的驗(yàn)證,所以系統(tǒng)還內(nèi)置了數(shù)據(jù)對(duì)象的自動(dòng)驗(yàn)證功能來(lái)完成模型的業(yè)務(wù)規(guī)則驗(yàn)證,而大多數(shù)情況下面,數(shù)據(jù)對(duì)象是由表單提交的$_POST數(shù)據(jù)創(chuàng)建。2011-06-06一個(gè)簡(jiǎn)單且很好用的php分頁(yè)類(lèi)
一個(gè)簡(jiǎn)單且很好用的php分頁(yè)類(lèi)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10PHP中全局變量global和$GLOBALS[]的區(qū)別分析
$GLOBALS['var']是外部的全局變量本身,global $var是外部$var的同名引用或者指針2012-08-08