MDB_Common::fetchAll()
MDB_Common::fetchAll() – 結果セットを入れ子状の配列として取得する
Synopsis
require_once 'MDB.php';
array &fetchAll
(
resource $result
, integer
$fetchmode =
= MDB_FETCHMODE_DEFAULT
, boolean
$rekey
= = false
, boolean
$force_array
= = false
, boolean
$group
= = false
)
Description
結果セット全体を取得し、それを入れ子状の配列で返して結果セットを開放します。
Parameter
-
resource
$result
-
query() あるいは
executeQuery()
が返した有効なリソース。
-
integer
$fetchmode
-
使用する取得モード。
-
boolean
$rekey
-
TRUE を指定すると、配列は以下のように変更されます。
結果セットのカラム数が二つより多い場合は、
値はカラム 2 からカラム n までの値の配列となります。
結果セットのカラムが二つだけの場合は、
返り値は二番目のカラムの値を表すスカラー値になります
($force_array パラメータで配列を強制している場合は除きます)。
-
boolean
$force_array
-
クエリの返すカラム数が二つである場合にのみ使用します。
TRUE を設定すると、返り値の配列の値が
スカラー値ではなく一要素の配列となります。
-
boolean
boolean $group
-
TRUE を設定すると、返り値の配列の値が別の配列でラップされます。
同一のキー (最初のカラムの値) が複数表れた場合に、
それが既存の値を上書きせずに配列に追加されるようになります。
Return value
array
- 入れ子状の配列、あるいは失敗した場合に
MDB_Error を返します。
Throws
Possible PEAR_Error values
エラーコード |
エラーメッセージ |
原因 |
対応 |
MDB_ERROR_TRUNCATED
|
NULL
|
結果セットに二つ以上のカラムがありません。
|
取得用の SQL クエリを調べるか、別の
fetch*() 関数を使用します。
|
その他のすべてのエラーコード |
|
データベース固有のエラー
|
PHP マニュアル
のデータベース関連の章で、エラーの意味を調べます。
たいていの場合は SQL の文法が間違っていることが原因です。
たとえば Oracle データベースの SQL 文で LIMIT を使用していることなどです。
|
Note
This function can not be called
statically.