|
|
db2_fetch_both (PECL) db2_fetch_both --
Returns an array, indexed by both column name and position, representing a row in a result set
Descriptionarray db2_fetch_both ( resource stmt [, int row_number] )
Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().
Parameters
- stmt
A valid stmt resource containing a result set.
- row_number
Requests a specific 1-indexed row from the result set. Passing this
parameter results in a PHP warning if the result set uses a
forward-only cursor.
Return Values
Returns an associative array with column values indexed by both the column
name and 0-indexed column number. The array represents the next or
requested row in the result set. Returns FALSE if there are no rows left
in the result set, or if the row requested by
row_number does not exist in the result set.
Examples
Example 1. Iterating through a forward-only cursor
If you call db2_fetch_both() without a specific row
number, it automatically retrieves the next row in the result set. The
following example accesses columns in the returned array by both column
name and by numeric index.
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_both($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row[0], $row['BREED'], $row[3]);
}
?> |
The above example will output: 0 Pook cat 3.20
5 Rickety Ride goat 9.70
2 Smarty horse 350.00 |
|
Example 2. Retrieving specific rows with db2_fetch_both()
from a scrollable cursor
If your result set uses a scrollable cursor, you can call
db2_fetch_both() with a specific row number. The
following example retrieves every other row in the result set, starting
with the second row.
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_both($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row['NAME'], $row[2], $row['WEIGHT']);
$i = $i + 2;
}
?> |
The above example will output: 0 Pook cat 3.20
5 Rickety Ride goat 9.70
2 Smarty horse 350.00 |
|
|
|
|