MDB_Common::executeQuery() -- プリペアド SQL ステートメントを実行する
説明
executeQuery() は、
prepareQuery()
のプリペアド SQL ステートメントと
setParam() メソッドで設定したデータを結合し、SQL クエリを実行します。
パラメータ
- resource
$stmt
prepareQuery()
から取得したクエリハンドル。
- array
$types
指定した場合は、取得した結果セットのカラムの型を設定します。
例外・エラー
表 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 を使用していることなどです。
|
注意
この関数は、スタティックにコールする
ことはできません。
一般的な使用法や使用例は、
導入 - 実行 を参照ください。