(PECL ibm_db2 >= 1.0.1)
db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
$stmt
, int $row_number
= -1
) : arrayReturns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.
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.
Returns a 0-indexed array with column values indexed by the column position
representing 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.
Example #1 Iterating through a forward-only cursor
If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.
<?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_array($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
}
?>
以上例程会输出:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00
Example #2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor
If your result set uses a scrollable cursor, you can call db2_fetch_array() 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_array($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
$i = $i + 2;
}
?>
以上例程会输出:
0 Pook cat 3.20 5 Rickety Ride goat 9.70 2 Smarty horse 350.00