MDB_Common::getAssoc()

MDB_Common::getAssoc() – 結果セットを連想配列で取得する

Synopsis

require_once 'MDB.php';

array &getAssoc ( string $query , array $types = = null , array $params = array() , array $param_types = = null , integer $fetchmode = = MDB_FETCHMODE_DEFAULT , boolean $force_array = = false , boolean $group = = false )

Description

クエリの結果セット全体を取得し、それを連想配列で返します。 最初のカラムを連想配列のキーとします。 この関数はクエリの実行を行い、終了時に結果を開放します。 結果セットのカラム数が二つより多い場合は、 連想配列の値はカラム 2 から n までの値を持つ配列となります。 結果セットのカラム数がちょうどふたつの場合は、 返される値は二番目のカラムの値を含むスカラーとなります (強制的にこれを配列にするには、パラメータ $force_array を使用します)。

Parameter

string $query

SQL クエリ。

array $types

指定した場合は、結果セットのカラムの型が取得時に設定されます。

array $params

指定した場合は、 prepareQuery()/ executeQuery() はこの配列を実行時のパラメータとして使用します。

array $param_types

指定した場合は、$param の値が 渡されたデータ型に自動的に設定されます。

integer $fetchmode

使用する取得モード。

boolean $force_array

クエリがちょうどふたつのカラムを返す場合にのみ使用します。 TRUE にすると、返される配列の値が スカラーではなく一要素の配列となります。

boolean boolean $group

TRUE を設定すると、返り値の配列の値が別の配列でラップされます。 同一のキー (最初のカラムの値) が複数表れた場合に、 それが既存の値を上書きせずに配列に追加されるようになります。

Return value

array - クエリの結果を連想配列で返します。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応
MDB_ERROR_INVALID NULL 準備した SQL ステートメントが無効です。 SQL 文でワイルドカードを使用する方法については、 prepareQuery() のドキュメント を参照ください。
MDB_ERROR_NEED_MORE_DATA NULL プリペアド SQL ステートメントに代入するデータが足りません。 prepareQuery() で処理した SQL 文中のワイルドカードの数を確認します。 また、$params で指定した配列の要素数を確認します。 この要素数は、ワイルドカードの数と一致しなければなりません。
MDB_ERROR_NO_DB_SELECTED NULL データベースが選択されていません。 connect() で指定した DSN を確認します。
MDB_ERROR_TRUNCATED NULL 結果セットに二つ以上のカラムがありません。 SQL クエリを調べるか、別の get*() 関数を選択します。
その他のすべてのエラーコード   データベース固有のエラー PHP マニュアル のデータベース関連の章で、エラーの意味を調べます。 たいていの場合は SQL の文法が間違っていることが原因です。 たとえば Oracle データベースの SQL 文で LIMIT を使用していることなどです。

Note

This function can not be called statically.

すべての行を取得する (Previous) 単一のカラムを取得する (Next)
Last updated: Wed, 17 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.