PDOStatement::fetchAll

(no version information, might be only in CVS)

PDOStatement::fetchAll --  全ての結果行を含む配列を返す

説明

array PDOStatement::fetchAll ( [int fetch_style] )

警告

この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用してください。

パラメータ

fetch_style

PDOStatement::fetch() にに文章化されているような 返される配列の内容を制御します。デフォルトは PDO_FETCH_BOTH です。

戻り値

PDOStatement::fetchAll() は、 結果セットに残っている全ての行を含む配列を返します。 この配列は、カラム値の配列 もしくは各カラム名に対応するプロパティを持つオブジェクトをして 各行を表します。

大きな結果セットをフェッチするためにこのメソッドを使用することは、 システムとネットワークリソースに大量の要求を行うことになります。 PHP で全てのデータ処理と操作を行うよりも、データベースサーバ側で 結果セットを操作することを検討してください。例えば、PHP で処理を行う前に SQL で WHERE 句や SORT BY 句を使用し、結果を制限することです。

例 1. 結果セットに残っている全ての行をフェッチする

<?php
$sth
= $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 結果セットに残っている全ての行をフェッチする */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

上の例の出力は以下となります:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

以下も参照ください

PDO::query()
PDOStatement::fetch()
PDOStatement::fetchSingle()
PDOStatement::prepare()
PDOStatement::setFetchMode()