DB_common::getCol() -- Runs a query and returns the data from a single column ïÐÉÓÁÎÉÅ
Runs the query provided and puts the
first column of data into an array
then frees the result set.
ðÁÒÁÍÅÔÒ
- string
$query
the SQL query or the statement to prepare
- mixed
$col
which column to return (integer [column
number, starting at 0] or string [column name])
- 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.
÷ÏÚ×ÒÁÝÁÅÍÏÅ ÚÎÁÞÅÎÉÅ
array - an ordered array containing data from a
result set column
or a DB_Error object on failure.
The array's index starts at 0.
Throws
Таблица 22-1. ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ PEAR_Error 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_NOSUCHFIELD |
no such field
|
Invalid column number/name passed to $col
|
Use a column number or name that exists in the query result.
| 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 most cases
a malformed SQL statement is the cause of the
error. (Ie. using LIMIT in a SQL-Statment for an Oracle
database.)
|
úÁÍÅÔËÁüÔÁ ÆÕÎËÃÉÑ ÎÅ ÄÏÌÖÎÁ ×ÙÚÙ×ÁÔØÓÑ ÓÔÁÔÉÞÅÓËÉ. ðÒÉÍÅÒПример 22-1.
Using getCol()
<?php
// Once you have a valid DB object named $db...
$data =& $db->getCol('SELECT cf, df FROM foo');
if (DB::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
|
Output:
Array
(
[0] => Juan
[1] => Kyu
) |
|
Пример 22-3.
Using getCol() to retrieve a
named column
<?php
// Once you have a valid DB object named $db...
$data =& $db->getCol('SELECT cf, df FROM foo', 'df');
if (DB::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
|
Output:
Array
(
[0] => 1991-01-11 21:31:41
[1] => 1992-02-12 22:32:42
) |
|
|