PEAR Manual
Prev |  | Next

# MDB_Common::execute()

MDB_Common::execute() -- executes a prepared SQL statment

## Synopsis

    require_once 'MDB.php';

``mixed execute` (resource $stmt, array [$types = `NULL`], array [$params = array()], array [$param_types = `NULL`])`

## Description

execute() joins the prepared SQL statment from prepareQuery() with the given data and executes the SQL query.

## Parameter

resource `$stmt`

  query handle from prepareQuery()

array `$types`

  if supplied, the types of the columns in the result set will be set for fetching

array `$params`

  a numeric array containing the data to insert into the query

array `$param_types`

  if supplied, the values in $param will automatically be set to the passed datatypes

## Return value

`mixed` - a resource id/`MDB_OK` or a MDB_Error, if fail

## Throws

Table 33-1. Possible PEAR_Error values

Error code | Error message | Reason | Solution
--- | --- | --- | ---
`MDB_ERROR_INVALID` | `NULL` | SQL statment handle is not valid. | Check correct processing of the SQL statment with prepareQuery() . Note that execute() requires a handle to the statement returned by prepareQuery() , not the statment itself.
`MDB_ERROR_NEED_MORE_DATA` | `NULL` | To less data for filling the prepared SQL statment. | Check the number of wild cards given in the SQL statment for prepareQuery() . Check the count of entries in the array for `$data`. The count of entries have to be equal to the number of wild cards.
`MDB_ERROR_NO_DB_SELECTED` | `NULL` | 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.

## Note

This function can not be called statically.

## See

prepareQuery() , executeMultiple()

Prev | Home | Next
MDB_Common::dropSequence() | Up | MDB_Common::executeQuery()