mixed execute
(
resource $stmt
,
array
$types
= = null
,
array
$params = array()
,
array
$param_types
= = null
)
execute() は、 prepareQuery() のプリペアド SQL ステートメントと 指定したデータを結合し、SQL クエリを実行します。
$stmt
prepareQuery() から取得したクエリハンドル。
$types
指定した場合は、取得した結果セットのカラムの型を設定します。
$params
クエリに挿入するデータを含む、数値添字の配列。
$param_types
指定した場合は、$param の値を自動的にその型に設定します。
エラーコード | エラーメッセージ | 原因 | 対応 |
---|---|---|---|
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 を使用していることなどです。 |
This function can not be called statically.