mysql_fetch_array

(PHP 3, PHP 4 >= 4.0.0)

mysql_fetch_array --  連想配列、添字配列、またはその両方として結果の行を取得する

説明

array mysql_fetch_array (int result, int [result_type])

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

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

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


select t1.f1 as foo t2.f1 as bar from t1, t2
      

注意すべき点としては、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()mysql_fetch_assoc()も参照下さい。

例 1mysql_fetch_array()


<?php 
mysql_connect ($host, $user, $password);
$result = mysql_db_query ("database","select user_id, fullname from table");
while ($row = mysql_fetch_array ($result)) {
    echo "user_id: ".$row["user_id"]."<br>\n";
    echo "user_id: ".$row[0]."<br>\n";
    echo "fullname: ".$row["fullname"]."<br>\n";
    echo "fullname: ".$row[1]."<br>\n";
}
mysql_free_result ($result);
?>