MDB_Common::execute()
MDB_Common::execute() – プリペアド SQL ステートメントを実行する
Synopsis
require_once 'MDB.php';
mixed execute
(
resource $stmt
,
array
$types
= = null
,
array
$params = array()
,
array
$param_types
= = null
)
Description
execute() は、
prepareQuery()
のプリペアド SQL ステートメントと
指定したデータを結合し、SQL クエリを実行します。
Parameter
-
resource
$stmt
-
prepareQuery()
から取得したクエリハンドル。
-
array
$types
-
指定した場合は、取得した結果セットのカラムの型を設定します。
-
array
$params
-
クエリに挿入するデータを含む、数値添字の配列。
-
array
$param_types
-
指定した場合は、$param の値を自動的にその型に設定します。
Throws
Possible PEAR_Error values
エラーコード |
エラーメッセージ |
原因 |
対応 |
MDB_ERROR_INVALID
|
NULL
|
SQL statment handle is not valid.
|
SQL 文が
prepareQuery()
で正しく処理できたかどうかを確認します。
execute() が必要としているのは
prepareQuery()
が返したステートメントハンドルであり、
ステートメント自体ではないことに注意しましょう。
|
MDB_ERROR_NEED_MORE_DATA
|
NULL
|
プリペアド SQL ステートメントに代入するデータが足りません。
|
prepareQuery()
で処理した SQL 文中のワイルドカードの数を確認します。
また、$data
で指定した配列の要素数を確認します。
この要素数は、ワイルドカードの数と一致しなければなりません。
|
MDB_ERROR_NO_DB_SELECTED
|
NULL
|
データベースが選択されていません。
|
connect()
で指定した DSN
を確認します。
|
その他のすべてのエラーコード |
|
データベース固有のエラー
|
PHP マニュアル
のデータベース関連の章で、エラーの意味を調べます。
たいていの場合は SQL の文法が間違っていることが原因です。
たとえば Oracle データベースの SQL 文で LIMIT を使用していることなどです。
|
Note
This function can not be called
statically.