DB_common::getAll()

DB_common::getAll() -- クエリを実行し、すべてのデータを配列として返す

概要

array &getAll (string $query [, array $params = array() [, integer $fetchmode = DB_FETCHMODE_DEFAULT]])

説明

指定したクエリを実行し、入れ子になった配列に結果セット全体を格納したあとで 結果セットを開放します。

パラメータ

string $query

SQL クエリあるいはプリペアドステートメント。

array $params

プリペアドステートメントの実行時に使用される配列。 配列の要素数は、クエリ内のプレースホルダの数と同じでなければなりません。

指定された場合は、 prepare()/ execute() が使用されます。

警告

このメソッドでは、この引数にスカラー値を指定することはできません。

integer $fetchmode

使用するフェッチモード。 デフォルトは DB_FETCHMODE_DEFAULT で、 これは DB の現在のフェッチモードを使用します。 DB の現在のデフォルトフェッチモードを変更するには setFetchMode() を使用します。 フェッチモードには、以下の値が指定できます。

  • DB_FETCHMODE_ORDERED

  • DB_FETCHMODE_ASSOC

  • DB_FETCHMODE_OBJECT

  • DB_FETCHMODE_ORDERED | DB_FETCHMODE_FLIPPED

  • DB_FETCHMODE_ASSOC | DB_FETCHMODE_FLIPPED

返り値

array - 入れ子になった配列、あるいは失敗した場合に DB_Error を返します。

例外・エラー

表 39-1PEAR_Error の値

エラーコードエラーメッセージ原因対応法
DB_ERROR_INVALID invalid 準備された SQL 文が無効です。 プレースホルダを使用する SQL 文を用いる場合は prepare() のドキュメント を参照ください。
DB_ERROR_MISMATCH mismatch パラメータの数が、プリペアドステートメント中の プレースホルダの数と一致しません。 $query に渡した prepare() 済みの文中の プレースホルダの数が、$params で渡した項目の数と一致するかどうかを調べます。
DB_ERROR_NODBSELECTED no database selected データベースが選択されていません。 connect() の際の DSN を調べます。
その他のエラーコード  データベース固有のエラー。 PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。

注意

この関数は、スタティックにコールする ことはできません。

参照

setFetchMode() getOne() getRow() getCol() getAssoc() query() "導入 - 準備と実行"