PEAR Manual
Prev |  | Next

# DB_common::getOne()

DB_common::getOne() -- Runs a query and returns the first column of the first row

## Synopsis

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

## Description

Runs the query provided and returns the data from the first column of the first row then frees the result set.

## 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.

  If supplied, prepare()/ execute() is used.

## Return value

mixed - the first column's data 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 statemt 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 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.

## Example

Example 33-1. Using getOne()
    <?php
    // Once you have a valid DB object named $db...
    $data =& $db->getOne('SELECT cf FROM foo');

    if (PEAR::isError($data)) {
        die($data->getMessage());
    }

    echo "$data\n";
    ?>

Example 33-2. Using getOne() with one placeholder
    <?php
    // Once you have a valid DB object named $db...
    $data =& $db->getOne('SELECT cf FROM foo WHERE nf = ?',
            5);

    if (PEAR::isError($data)) {
        die($data->getMessage());
    }

    echo "$data\n";
    ?>

Example 33-3. Using getOne() with two placeholders
    <?php
    // Once you have a valid DB object named $db...
    $data =& $db->getOne('SELECT cf FROM foo WHERE nf IN (?, ?)',
            array(5, 10));

    if (PEAR::isError($data)) {
        die($data->getMessage());
    }

    echo "$data\n";
    ?>

## See

getRow(), getCol(), getAssoc(), getAll(), query(), "Intro - Prepare & Execute"

Prev | Home | Next
DB_common::getListOf() | Up | DB_common::getOption()