MDB_Common::executeMultiple()

MDB_Common::executeMultiple() -- プリペアド SQL ステートメントを繰り返し実行する

概要

require_once 'MDB.php';

mixed executeMultiple (resource $stmt, array [$types = NULL], array [$params = array()], array [$param_types = NULL], array $data)

説明

executeMultiple() は、 prepareQuery() のプリペアド SQL ステートメントと 指定したデータを結合し、 $data 配列のすべての "行" について SQL クエリを実行します。

パラメータ

resource $stmt

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

array $types

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

array $params

指定した場合は、 prepareQuery()/ executeQuery() はこの配列を実行時のパラメータとします。

array $param_types

指定した場合は、$param の値を自動的にその型に設定します。

array array $data

クエリに挿入するデータを含む、数値添字の配列。

返り値

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

例外・エラー

表 39-1PEAR_Error の値

エラーコードエラーメッセージ原因対応
MDB_ERROR_INVALID NULL SQL statment handle is not valid. SQL 文が prepareQuery() で正しく処理できたかどうかを確認します。 executeMultiple() が必要としているのは 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() , executeQuery()