Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

mysql_fetch_array

(PHP 3, PHP 4 )

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

説明

array mysql_fetch_array ( resource result, int [result_type])

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

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

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

select tone.field as foo ttwo.field as bar from tone, ttwo

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

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

MYSQL_BOTHを使用すると、連想添字と数値添字を共に有する配列を取得 します。MYSQL_ASSOCを使用すると、( mysql_fetch_assoc()の動作と同様に)連想添字のみ が取得され、MYSQL_NUMを使用すると、 (mysql_fetch_row()の動作と同様に数値添字のみが 取得されます。

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

例 1mysql_fetch_array()の例

<?php
mysql_connect($host, $user, $password);
mysql_select_db("database");
$result = mysql_query("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);
?>