PHP操作MySQL的mysql_fetch_* 函數(shù)的常見用法教程
mysql_fetch_* 列函數(shù)
mysql_fetch_* 列函數(shù)的主要功能是從查詢返回的結(jié)果集中取得相關(guān)的查詢結(jié)果,主要包括:
- mysql_fetch_array():從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組或索引數(shù)組,或二者兼有
- mysql_fetch_row():從結(jié)果集中取得一行作為枚舉數(shù)組
- mysql_fetch_assoc():從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組
- mysql_fetch_object():從結(jié)果集中取得一行作為對象
- mysql_fetch_field():從結(jié)果集中取得字段信息并作為對象返回
- mysql_fetch_lengths():取得結(jié)果集中取得一行每個(gè)字段內(nèi)容輸出的長度
- mysql_fetch_array()
mysql_fetch_array() 函數(shù)用于從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組或索引數(shù)組,或二者兼有。成功返回一個(gè)數(shù)組,否則返回 FALSE 。
語法:
array mysql_fetch_array( resource result [, int result_type] )
參數(shù)說明:
- result:查詢函數(shù)(如 mysql_query)返回的數(shù)據(jù)集資源
- result_type:可選常量,標(biāo)明數(shù)組結(jié)果類型,可接受值如下:
- MYSQL_BOTH:默認(rèn),得到一個(gè)同時(shí)包含關(guān)聯(lián)和數(shù)字索引的數(shù)組,用字段名作為鍵名
- MYSQL_ASSOC:只得到關(guān)聯(lián)索引的數(shù)組
- MYSQL_NUM:只得到數(shù)字索引的數(shù)組
例子 1 ,使用 MYSQL_NUM :
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數(shù)據(jù)庫失?。? . 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 :
//重復(fù)代碼省略
$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 />";
}
瀏覽器輸出內(nèi)容同上。
當(dāng)使用 MYSQL_BOTH 或省略該參數(shù)是,將同時(shí)具有 MYSQL_NUM 與 MYSQL_ ASSOC 的特性。
說明
本函數(shù)返回的字段名作為數(shù)組鍵值是區(qū)分大小寫的
用 mysql_fetch_array() 并不明顯 比用 mysql_fetch_row() 慢,而且還提供了明顯更多的值
該函數(shù)只從當(dāng)前數(shù)據(jù)指針取得一行數(shù)據(jù)作為結(jié)果返回,如果執(zhí)行過一次,會將數(shù)據(jù)指針指向下一列數(shù)據(jù)
如果要取得多行或者全部數(shù)據(jù),需要使用循環(huán)結(jié)構(gòu)將數(shù)據(jù)逐行取出
如果結(jié)果中的兩個(gè)或以上的列具有相同字段名,最后一列將優(yōu)先。要訪問同名的其它列,必須用該列的數(shù)字索引或給該列起個(gè)別名
mysql_fetch_row()
PHP 的 MySQL 操作函數(shù) mysql_fetch_row() 用于從結(jié)果集中取得一行作為枚舉數(shù)組。成功返回一個(gè)數(shù)組,否則返回 FALSE 。
語法:
array mysql_fetch_row( resource result )
該函數(shù)表現(xiàn)與 mysql_fetch_array( resource result, MYSQL_NUM ) 一致,請參考mysql_fetch_array() 函數(shù)用法,在此不在贅述。
mysql_fetch_object()
PHP 操作 MySQL 的函數(shù) mysql_fetch_object() 用于從結(jié)果集中取得一行作為對象,成功返回一個(gè)對象,否則返回 FALSE 。
語法:
object mysql_fetch_object( resource result )
例子:
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數(shù)據(jù)庫失?。? . 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 用戶名:小王
相關(guān)文章
PHP 正則判斷中文UTF-8或GBK的思路及具體實(shí)現(xiàn)
UTF-8匹配: 在javascript中,要判斷字符串是中文是很簡單的,下面有個(gè)不錯(cuò)的判斷示例,需要的朋友可以參考下2013-11-11
redis+php實(shí)現(xiàn)微博(一)注冊與登錄功能詳解
這篇文章主要介紹了redis+php實(shí)現(xiàn)微博注冊與登錄功能,結(jié)合實(shí)例形式分析了php結(jié)合redis實(shí)現(xiàn)微博注冊及登錄相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09
安裝apache2.2.22配置php5.4(具體操作步驟)
本篇文章是對安裝apache2.2.22配置php5.4的具體操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
詳解WordPress開發(fā)中用于獲取分類及子頁面的函數(shù)用法
這篇文章主要介紹了WordPress開發(fā)中g(shù)et_category與get_children函數(shù)的用法,分別用于獲取分類和獲取子頁面等功能,需要的朋友可以參考下2016-01-01
PHP和JAVA中的重載(overload)和覆蓋(override) 介紹
PHP不支持方法和操作符重載。JAVA不支持操作符的重載(但是“+”實(shí)際上是一種操作符重載)2012-03-03

