首頁 > 後端開發 > php教程 > PHP之mysql_fetch系列函數詳解

PHP之mysql_fetch系列函數詳解

*文
發布: 2023-03-18 18:34:01
原創
2277 人瀏覽過

本文主要介紹了PHP中操作MySQL的mysql_fetch函數的常見用法教程,文中提到了其下fetch_array和mysql_fetch_row以及mysql_fetch_object函數的使用。希望對大家有幫助。

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 &#39;gbk&#39;");

$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[&#39;uid&#39;]."<br />";
 echo "用户名:".$row[&#39;username&#39;]."<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 &#39;gbk&#39;");

$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
用户名:小王
登入後複製


##相關推薦:

php 資料庫類別適用於mysql sql service

PHP 資料庫操作mysqli

#超輕的 PHP 資料庫工具包

以上是PHP之mysql_fetch系列函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板