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]])

Description

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.

Parameter

string $table

name of the table

array $fields_values

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

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.

Return value

integer - DB_OK on success or a DB_Error object on failure

Throws

Table 26-1. Possible PEAR_Error values

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.

Note

This function can not be called statically.

Example

See

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