ArininAV

DB_common::autoExecute()

DB_common::autoExecute() --  Prepares and runs an INSERT or UPDATE query based on variables you supply

Synopsis

integer autoExecute (string $table, array $fields_values [, integer $mode = DB_AUTOQUERY_INSERT [, string $where = FALSE]])

Описание

Automatically prepares and executes INSERT or UPDATE queries.

This method builds a SQL statement using autoPrepare() and then executes the statement using execute() with it.

Параметр

string $table

name of the table

array $fields_values

assoc (key => value), keys are fields names, values are values of these fields

Values are automatically escaped and quoted according to the current DBMS's requirements.

integer $mode

type of query to make (DB_AUTOQUERY_INSERT or DB_AUTOQUERY_UPDATE)

string $where

a string to be used in the WHERE clause. This is only used when $mode is DB_AUTOQUERY_UPDATE. The string is put directly into the query, so you must escape and quote literals according to the DBMS's standards.

Возвращаемое значение

integer - DB_OK on success or a DB_Error object on failure

Throws

Таблица 32-1. Возможные значения PEAR_Error

Error codeError messageReasonSolution
DB_ERROR_NEED_MORE_DATA insufficient data supplied Your associative array, which has to contain fields names and their values, is empty. Check and correct your fields_values array.
DB_ERROR_SYNTAX syntax error You use an unknown mode. Available modes are only DB_AUTOQUERY_INSERT for INSERT queries or DB_AUTOQUERY_UPDATE for UPDATE queries.
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.

Заметка

Эта функция не должна вызываться статически.

Внимание

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.

Пример

См. также

"Intro - Prepare & Execute", "Intro - autoPrepare & autoExecute", prepare(), execute(), executeMultiple(), autoPrepare()