DB_common::query()

DB_common::query() -- データベースにクエリを送信する

概要

mixed &query (string $query [, mixed $params = array()])

説明

クエリを実行します。

パラメータ $params を指定しており、クエリ内で プレースホルダを使用している場合に、 prepare() および execute() の代わりに使用されます。 このモードについての詳細な情報は、 "導入 - 準備と実行" を参照ください。

パラメータ

string $query

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

mixed $params

プリペアドステートメントに適用する配列・文字列あるいは数値のデータ。 渡す項目数は、文中のプレースホルダの数と一致していなければなりません。 プレースホルダがひとつだけの場合は配列でない値を指定し、 複数存在する場合は個々の値を要素にもつ配列を指定します。

返り値

mixed - 結果を返すクエリ (例えば SELECT クエリなど) の場合は新しい DB_result オブジェクト、 データを操作するクエリ (例えば INSERT クエリなど) の場合は DB_OK、 あるいは失敗した場合には 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 を使用しているなどが 考えられます。

注意

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

参照

"導入 - 準備と実行" limitQuery()