PEAR Manual
Prev |  | Next

# DB_common::query()

DB_common::query() -- Sends a query to the database

## Synopsis

``mixed &query` (string $query [, mixed $params = array()])`

## Description

Runs a query

Can be used instead of prepare() and execute(), if you set the `$params` parameter and your query uses placeholders. See "Intro - Prepare & Execute" for more information on this mode.

## Parameter

string `$query`

  the SQL query or the statement to prepare

mixed `$params`

  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.

## Return value

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

Table 33-1. Possible PEAR_Error values

Error code | Error message | Reason | Solution
--- | --- | --- | ---
`DB_ERROR_INVALID` | invalid | SQL statment for preparing is not valid. | See the prepare() documentation, if you want to use a SQL statement using placeholders.
`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 chosen. | Check the DSN in connect().
every other error code |  | Database specific error | Check the database related section of the PHP-Manual to detect the reason for this error. In the most cases a misformed SQL statement. I.e. using LIMIT in a SQL-Statement for an Oracle database.

## Note

This function can not be called statically.

## See

"Intro - Prepare & Execute", limitQuery()

Prev | Home | Next
DB_common::provides() | Up | DB_common::quote()