Monday, May 31, 2010

[PHP] mysql_fetch_array() 與 mysql_fetch_assoc() 與 mysql_fetch_row() 的差異

當需要從 DB 讀取資料時,我們常會使用下列的語法: while($row = mysql_fetch_array($result)) {   echo "姓名:".$row['name']." 學號:".$row['no']."</br>"; } 但是,有時候也會看到 mysql_fetch_array() 會替代為 mysql_fetch_assoc() 或 mysql_fetch_row() ,差別在於...


mysql_fetch_array()
從資料集取得的陣列,索引值可以是 "數字" ,也可以是 "字串",如下:
$a = $row[0];


$a = $row["a"];

mysql_fetch_assoc()
從資料集取得的陣列,索引值只能是 "字串" 
,如下:
$a = $row["a"];

mysql_fetch_row()
從資料集取得的陣列,索引值只能是 "數字" 
,如下:
$a = $row[0];


所以,如果你想要讓陣列可以用數字當索引,同時也能用字串當索引,那就用 mysql_fatch_array() 吧。

3 comments:

  1. 當工程師多年最近才發現這兩個
    覺得assoc與row是這兩個是多餘
    就用array

    ReplyDelete
    Replies
    1. 還是有它存在的目的,當你在做json 輸出 資料量就知道了

      Delete
  2. 唉 所有programme 覺得好撚難

    ReplyDelete