db2_fetch_both

(no version information, might be only in CVS)

db2_fetch_both --  Returns an array, indexed by both column name and position, representing a row in a result set

说明

array db2_fetch_both ( resource stmt [, int row_number] )

警告

本函数是实验性的。本函数的行为,包括函数名称以及其它任何关于本函数的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。使用本函数风险自担。

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_into().

参数

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 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.

例子 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, $sql);

while (
$row = db2_fetch_both($result)) {
    
printf ("%-5d %-16s %-32s %10s\n",
        
$row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

上例将输出:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

例子 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;
}
?>

上例将输出:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

参见

db2_fetch_assoc()
db2_fetch_into()
db2_fetch_row()
db2_result()