DB_common::execute()
Описание
Merges the SQL statment you submitted to prepare() with the information in $data and then sends the query to the database.
Параметр
- resource $stmt
query handle from prepare()
- mixed $data
array, string or numeric data to be added to the prepared statement. Quantity of items passed must match quantity of placeholders in the prepared statement: meaning 1 placeholder for non-array parameters or 1 placeholder per array element.
Возвращаемое значение
mixed - a new DB_result object for queries that return results (such as SELECT queries), DB_OK for queries that manipulate data (such as INSERT queries) or a DB_Error object on failure
Throws
Таблица 35-1. Возможные значения PEAR_Error
Error code | Error message | Reason | Solution |
---|---|---|---|
DB_ERROR_INVALID | invalid | SQL statment handle is not valid. | Check correct processing of the SQL statment with prepare(). Note that execute() requires a handle to the statement returned by prepare(), not the statment itself. |
DB_ERROR_MISMATCH | mismatch | Quantity of parameters didn't match quantity of placeholders in the prepared statment. | Check that the number of placeholders in the prepare() statement passed to $query equals the count of entries passed to $params. |
DB_ERROR_NODBSELECTED | no database selected | No database was choosen. | Check the DSN in connect(). |
every other error code | Database specific error | Check the database related section of PHP-Manual to detect the reason for this error. In the most cases a misformed SQL statment. Ie. using LIMIT in a SQL-Statment for an Oracle database. |
Заметка
Эта функция не должна вызываться статически.
Внимание |
The values passed in $data must be literals. Do not submit SQL functions (for example CURDATE()). SQL functions that should be performed at execution time need to be put in the prepared statement. |
Пример
Пример 35-1. Passing a scalar to execute()
|
Пример 35-2. Passing an array to execute()
|
См. также
"Intro - Prepare & Execute", "Intro - autoPrepare & autoExecute", prepare(), executeMultiple()
Пред. | Начало | След. |
DB_common::escapeSimple() | Уровень выше | DB_common::executeMultiple() |