mysql_fetch_* 列函數
mysql_fetch_* 列函數的主要功能是從查詢返回的結果集中取得相關的查詢結果,主要包括:
mysql_fetch_array() 函數用於從結果集中取得一行作為關聯數組或索引數組,或二者兼有。成功返回一個數組,否則返回 FALSE 。
語法:
array mysql_fetch_array( resource result [, int result_type] )
參數說明:
例子 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 用戶名:小王