PHP マニュアル
前のページ |  | 次のページ

# 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);
    ?>

前のページ | ホーム | 次のページ
mysql_escape_string | 上に戻る | mysql_fetch_assoc