DB_common::getOne()
Вернуться к: DB
DB_common::getOne()
Synopsis
mixed &getOne ( string $query , mixed $params = array() )
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, NULL if there is no data, or a DB_Error object on failure
Throws
Error code | Error message | Reason | Solution |
---|---|---|---|
DB_ERROR_INVALID | invalid | SQL statement 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 statement. | 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 PHP-Manual to detect the reason for this error. In the most cases a misformed SQL statement. Ie. using LIMIT in a SQL-Statement for an Oracle database. |
Note
This function can not be called statically.
Example
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";
?>
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";
?>
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";
?>
Вернуться к: DB