DB_common::getRow()
Description
Runs the query provided and puts the first row of data into an array then frees the result set.
Parameter
- string $query
the SQL query or the statement to prepare
- array $params
array to be used in execution of the statement. Quantity of array elements must match quantity of placeholders in query.
If supplied, prepare()/ execute() is used.
Warning This method does not allow scalars to be used for this argument.
- integer $fetchmode
the fetch mode to use. The default is DB_FETCHMODE_DEFAULT, which tells this method to use DB's current fetch mode. DB's current default fetch mode can be changed using setFetchMode(). Potential values include:
DB_FETCHMODE_ORDERED
DB_FETCHMODE_ASSOC
DB_FETCHMODE_OBJECT
Return value
array - the first row's data in an array or a DB_Error object on failure. The array may be ordered or associative depending on $fetchmode. The column index starts at 0 for ordered arrays.
Throws
Table 39-1. Possible PEAR_Error values
| 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. |
Example
Example 39-1. Using getRow() with $fetchmode = DB_FETCHMODE_ORDERED
Output:
|
Example 39-2. Using getRow() with $fetchmode = DB_FETCHMODE_ASSOC
Output:
|
Example 39-3. Using getRow() with $fetchmode = DB_FETCHMODE_OBJECT
Output:
|
Example 39-4. Using getRow() with one placeholder
|
Example 39-5. Using getRow() with two placeholders
|
