array &queryAll
(
string $query
,
array
$types
= = null
, integer
$fetchmode =
= MDB_FETCHMODE_DEFAULT
, boolean
$rekey
= = false
, boolean
$force_array
= = false
, boolean
$group
= = false
)
結果セット全体を取得し、それを入れ子状の配列で返します。 この関数はクエリを実行し、終了時に結果を開放します。
$query
SQL クエリ。
$types
指定した場合は、結果セットのカラムの型が取得したものに設定されます。
$fetchmode
使用する取得モード。
$rekey
TRUE を指定すると、配列は以下のように変更されます。 結果セットのカラム数が二つより多い場合は、 値はカラム 2 からカラム n までの値の配列となります。 結果セットのカラムが二つだけの場合は、 返り値は二番目のカラムの値を表すスカラー値になります ($force_array パラメータで配列を強制している場合は除きます)。
$force_array
クエリの返すカラム数が二つである場合にのみ使用します。 TRUE を設定すると、返り値の配列の値が スカラー値ではなく一要素の配列となります。
boolean $group
TRUE を設定すると、返り値の配列の値が別の配列でラップされます。 同一のキー (最初のカラムの値) が複数表れた場合に、 それが既存の値を上書きせずに配列に追加されるようになります。
array
- 入れ子状の配列、あるいは失敗した場合に
MDB_Error を返します。
エラーコード | エラーメッセージ | 原因 | 対応 |
---|---|---|---|
MDB_ERROR_NO_DB_SELECTED | NULL | データベースが選択されていません。 | connect() で指定した DSN を確認します。 |
MDB_ERROR_TRUNCATED | NULL | 結果セットに二つ以上のカラムがありません。 | 取得用の SQL クエリを調べるか、別の fetch*() 関数を使用します。 |
その他のすべてのエラーコード | データベース固有のエラー | PHP マニュアル のデータベース関連の章で、エラーの意味を調べます。 たいていの場合は SQL の文法が間違っていることが原因です。 たとえば Oracle データベースの SQL 文で LIMIT を使用していることなどです。 |
This function can not be called statically.
query() , limitQuery() , prepareQuery() , executeQuery() , queryRow() , queryOne() , queryCol()