MDB_Common::executeQuery()

MDB_Common::executeQuery() -- プリペアド SQL ステートメントを実行する

概要

require_once 'MDB.php';

mixed executeQuery (resource $stmt, array [$types = NULL])

説明

executeQuery() は、 prepareQuery() のプリペアド SQL ステートメントと setParam() メソッドで設定したデータを結合し、SQL クエリを実行します。

パラメータ

resource $stmt

prepareQuery() から取得したクエリハンドル。

array $types

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

返り値

mixed - リソース ID//MDB_OK、 あるいは失敗した場合に MDB_Error を返します。

例外・エラー

表 39-1PEAR_Error の値

エラーコードエラーメッセージ原因対応
MDB_ERROR_INVALID NULL SQL statment handle is not valid. SQL 文が prepareQuery() で正しく処理できたかどうかを確認します。 executeQuery() が必要としているのは prepareQuery() が返したステートメントハンドルであり、 ステートメント自体ではないことに注意しましょう。
MDB_ERROR_NEED_MORE_DATA NULL プリペアド SQL ステートメントに代入するデータが足りません。 prepareQuery() で処理した SQL 文中のワイルドカードの数を確認します。 また、$data で指定した配列の要素数を確認します。 この要素数は、ワイルドカードの数と一致しなければなりません。
MDB_ERROR_NO_DB_SELECTED NULL データベースが選択されていません。 connect() で指定した DSN を確認します。
その他のすべてのエラーコード  データベース固有のエラー PHP マニュアル のデータベース関連の章で、エラーの意味を調べます。 たいていの場合は SQL の文法が間違っていることが原因です。 たとえば Oracle データベースの SQL 文で LIMIT を使用していることなどです。

注意

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

一般的な使用法や使用例は、 導入 - 実行 を参照ください。

参照

prepareQuery() , executeMultiple()