| DB_common::execute() (Previous) | (Next) DB_common::freePrepared() | ||||
| |
|||||
|
|||||
表 39-1PEAR_Error の値
| エラーコード | エラーメッセージ | 原因 | 対応法 |
|---|---|---|---|
| DB_ERROR_INVALID | invalid | 有効な SQL 文ハンドルではありません。 | 現在実行している SQL 文と prepare() を調べます。 executeMultiple() に必要なのは、 prepare() が返すハンドルであって SQL 文自身ではないことに注意しましょう。 |
| DB_ERROR_MISMATCH | mismatch | パラメータの数が、文中のプレースホルダの数と一致しません。 | $query に渡した prepare() 済みの文中の プレースホルダの数が、$params で渡した項目の数と一致するかどうかを調べます。 |
| DB_ERROR_NODBSELECTED | no database selected | データベースが選択されていません。 | connect() の際の DSN を調べます。 |
| その他のエラーコード | データベース固有のエラー。 | PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。 |
この関数は、スタティックにコールする ことはできません。
| 警告 |
実行時にエラーが発生した場合は、この関数は停止します。 それ以降のデータは処理されません。 |
| 警告 |
$data に渡す値は、リテラルである必要があります。 SQL 関数 (例えば CURDATE() など) を渡さないでください。 実行時に処理される SQL 関数は、プリペアドステートメント内に記述する 必要があります。 |
例 39-1executeMultiple() の使用法
|
"導入 - 準備と実行"、 "導入 - autoPrepare & autoExecute"、 prepare()、 execute()、 autoPrepare()、 autoExecute()
| DB_common::execute() (Previous) | (Next) DB_common::freePrepared() | ||||||||
| |
|||||||||
|
|||||||||