mysql_fetch_* 列函數
mysql_fetch_* 列函數的主要功能是從查詢返回的結果集中取得相關的查詢結果,主要包括:
- mysql_fetch_array():從結果集中取得一行作為關聯數組或索引數組,或二者兼有
- mysql_fetch_row():從結果集中取得一行作為枚舉數組
- mysql_fetch_assoc():從結果集中取得一行作為關聯數組
- mysql_fetch_object():從結果集中取得一行作為對象
- mysql_fetch_field():從結果集中取得字段信息并作為對象返回
- mysql_fetch_lengths():取得結果集中取得一行每個字段內容輸出的長度
- mysql_fetch_array()
mysql_fetch_array() 函數用于從結果集中取得一行作為關聯數組或索引數組,或二者兼有。成功返回一個數組,否則返回 FALSE 。
語法:
array mysql_fetch_array( resource result [, int result_type] )
參數說明:
- result:查詢函數(如 mysql_query)返回的數據集資源
- result_type:可選常量,標明數組結果類型,可接受值如下:
- MYSQL_BOTH:默認,得到一個同時包含關聯和數字索引的數組,用字段名作為鍵名
- MYSQL_ASSOC:只得到關聯索引的數組
- MYSQL_NUM:只得到數字索引的數組
例子 1 ,使用 MYSQL_NUM :
<?php$conn = @mysql_connect("localhost","root","root123");if (!$conn){ die("連接數據庫失敗:" . mysql_error());}mysql_select_db("test", $conn);mysql_query("set character set 'gbk'");$result = mysql_query("SELECT uid,username FROM user");while($row = mysql_fetch_array($result, MYSQL_NUM)){ echo "用戶ID:".$row[0]."<br />"; echo "用戶名:".$row[1]."<br />";}?>
瀏覽器輸出:
用戶ID:1用戶名:admin用戶ID:2用戶名:小明用戶ID:3用戶名:Jack用戶ID:4用戶名:小王
例子 2 ,使用 MYSQL_ ASSOC :
//重復代碼省略$result = mysql_query("SELECT uid,username FROM user");while($row = mysql_fetch_array($result, MYSQL_ ASSOC)){ echo "用戶ID:".$row['uid']."<br />"; echo "用戶名:".$row['username']."<br />";}
瀏覽器輸出內容同上。
當使用 MYSQL_BOTH 或省略該參數是,將同時具有 MYSQL_NUM 與 MYSQL_ ASSOC 的特性。
說明
本函數返回的字段名作為數組鍵值是區分大小寫的
用 mysql_fetch_array() 并不明顯 比用 mysql_fetch_row() 慢,而且還提供了明顯更多的值
該函數只從當前數據指針取得一行數據作為結果返回,如果執行過一次,會將數據指針指向下一列數據
如果要取得多行或者全部數據,需要使用循環結構將數據逐行取出
如果結果中的兩個或以上的列具有相同字段名,最后一列將優先。要訪問同名的其它列,必須用該列的數字索引或給該列起個別名
mysql_fetch_row()
PHP 的 MySQL 操作函數 mysql_fetch_row() 用于從結果集中取得一行作為枚舉數組。成功返回一個數組,否則返回 FALSE 。
語法:
array mysql_fetch_row( resource result )
該函數表現與 mysql_fetch_array( resource result, MYSQL_NUM ) 一致,請參考mysql_fetch_array() 函數用法,在此不在贅述。
mysql_fetch_object()
PHP 操作 MySQL 的函數 mysql_fetch_object() 用于從結果集中取得一行作為對象,成功返回一個對象,否則返回 FALSE 。
語法:
object mysql_fetch_object( resource result )
例子:
<?php$conn = @mysql_connect("localhost","root","root123");if (!$conn){ die("連接數據庫失敗:" . mysql_error());}mysql_select_db("test", $conn);mysql_query("set character set 'gbk'");$result = mysql_query("SELECT uid,username FROM user");while($row = mysql_fetch_object($result)){ echo "用戶ID:".$row->uid."<br />"; echo "用戶名:".$row->username."<br />";}?>
瀏覽器輸出:
用戶ID:1用戶名:admin用戶ID:2用戶名:小明用戶ID:3用戶名:Jack用戶ID:4用戶名:小王