mysql_fetch_array

mysql_fetch_array -- 連想配列として結果の行を取得する

説明

array mysql_fetch_array(int result, int [result_type] );

取得した行に対応する配列を返します。最後の行までいった場合は、FALSEを 返します。

mysql_fetch_array() は、 mysql_fetch_row() の拡張版です。 この関数は、 result 配列 の番号インデックスにデータを 格納するだけでなく、フィールド名をキーとした連想配列にもデータを 格納します。

結果の中で二つ以上のカラムが同じフィールド名を有している場合、 最後のカラムが優先されます。 同名の他のカラムにアクセスするには、そのカラムの数値インデックス を使うかまたはカラムの別名を定義する必要があります。

  1 
  2  select t1.f1 as foo t2.f1 as bar from t1, t2
  3  

注意すべき点としては、mysql_fetch_array() は、 非常に高い附加価値を有しているにもかかわらず、 mysql_fetch_row() よりそれほど遅くはないと いうことが言えます。

mysql_fetch_array() の オプションの2番目の引数 result_type は、 定数であり、次の値をとります。: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH (この機能は PHP 3.0.7 で追加された機能です)

より詳細な情報については、 mysql_fetch_row() も参照下さい。

例 1. mysql fetch array

  1 
  2  <?php 
  3  mysql_connect($host,$user,$password);
  4  $result = mysql_db_query("database","select * from table");
  5  while($row = mysql_fetch_array($result)) {
  6      echo $row["user_id"];
  7      echo $row["fullname"];
  8  }
  9  mysql_free_result($result);
 10  ?>
 11