首頁 php教程 php手册 【轉】mysql_fetch_row , mysql_fetch_array , mysql_fetch_assoc 的區別

【轉】mysql_fetch_row , mysql_fetch_array , mysql_fetch_assoc 的區別

Sep 29, 2016 am 09:19 AM

<?<span style="color: #000000;">php
</span><span style="color: #800080;">$link </span>= <span style="color: #008080;">mysql_connect</span>('localhost', 'root', <span style="color: #000000;">&rdquo;);
</span><span style="color: #008080;">mysql_select_db</span>('abc', <span style="color: #800080;">$link</span><span style="color: #000000;">);
</span><span style="color: #800080;">$sql</span> = &ldquo;select *<span style="color: #000000;"> from book&rdquo;;
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_row</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_array</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_object</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>->cid.'::'.<span style="color: #800080;">$row</span>->title.”<br><span style="color: #000000;">”;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_assoc</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span>?>
登入後複製

 分析:
mysql_fetch_row,這個函數是從結果集中取一行作為枚舉數據,從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個陣列的單元中,偏移量從 0 開始。 注意,這裡是從0開始偏移,也就是說不能用欄位名字來取值,只能用索引來取值,所以如下程式碼是取不到值的:
  while($row = mysql_fetch_row($res) ){
    echo $row['cid'].'::'.$row[1].”;
  } //這裡的$row['cid'] 取不到值。
my_fetch_array,從結果集中取得。一行作為關聯數組,或數字數組,或二者兼有,除了將資料以數字索引方式儲存在數組中之外,還可以將資料作為關聯索引儲存,用字段名作為鍵名。的結果像陣列一樣,可以用key或索引來取值,所以
  while($row = mysql_fetch_array($res)){
    echo $row['cid'].'::'.$row[1]. ”;
  }//這裡$row['cid'],$row[1]都能得到對應的值。
mysql_fetch_object,顧名思義,從結果集中取得一行作為對象,並將字段名字做為屬性。所以只有這樣才能取到值
  while($row = mysql_fetch_object($res)){
    echo $row->cid.'::'.$row->title.";
＀取得一行作為關聯數組,也就是說這個函數不能像mysql_fetch_row那樣用索引來取值,只能用字段名字來取,所以
  while($row = mysql_fetch_assoc($res)){
  羅  Hrow'id '].'::'.$row[1].”;
  } //$row[1]這樣是取不到值的
補充一點:
mysql_fetch_array函數是這樣定義的:array mysql_fetch_array (resource result [ , int result_type]),傳回根據從結果集取得的行所產生的數組,如果沒有更多行則傳回FALSE。 ,MYSQL_NUM 和MYSQL_BOTH。某種程度上可以算是mysql_fetch_row()與mysql_fetch_assoc()的集合。 >fetch_array($query);
$db是人資料庫操作類,$db->fetch_array($query),fetch_array($query)是那個db類別裡的方法,$row = $db->fetch_array($query )這句話的意思是從記錄集$query得到資料庫中的一行記錄。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24