Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

db2_fetch_both(3) [php man page]

DB2_FETCH_BOTH(3)							 1							 DB2_FETCH_BOTH(3)

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

SYNOPSIS
array db2_fetch_both (resource $stmt, [int $row_number = -1]) DESCRIPTION
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(3) requires more memory than the single-indexed arrays returned by db2_fetch_assoc(3) or db2_fetch_array(3). PARAMETERS
o $stmt - A valid stmt resource containing a result set. o $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(3) without a specific row number, it automatically retrieves the next row in the result set. The follow- ing 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 ", $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(3) from a scrollable cursor If your result set uses a scrollable cursor, you can call db2_fetch_both(3) 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 ", $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 SEE ALSO
db2_fetch_array(3), db2_fetch_assoc(3), db2_fetch_object(3), db2_fetch_row(3), db2_result(3). PHP Documentation Group DB2_FETCH_BOTH(3)

Check Out this Related Man Page

DB2_NEXT_RESULT(3)							 1							DB2_NEXT_RESULT(3)

db2_next_result - Requests the next result set from a stored procedure

SYNOPSIS
resource db2_next_result (resource $stmt) DESCRIPTION
A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result(3) function and return the result to a uniquely named PHP variable. PARAMETERS
o $stmt - A prepared statement returned from db2_exec(3) or db2_execute(3). RETURN VALUES
Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set. EXAMPLES
Example #1 Calling a stored procedure that returns multiple result sets In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from state- ment resources returned from our calls to the db2_next_result(3) function. <?php $conn = db2_connect($database, $user, $password); if ($conn) { $stmt = db2_exec($conn, 'CALL multiResults()'); print "Fetching first result set "; while ($row = db2_fetch_array($stmt)) { var_dump($row); } print " Fetching second result set "; $res = db2_next_result($stmt); if ($res) { while ($row = db2_fetch_array($res)) { var_dump($row); } } print " Fetching third result set "; $res2 = db2_next_result($stmt); if ($res2) { while ($row = db2_fetch_array($res2)) { var_dump($row); } } db2_close($conn); } ?> The above example will output: Fetching first result set array(2) { [0]=> string(16) "Bubbles " [1]=> int(3) } array(2) { [0]=> string(16) "Gizmo " [1]=> int(4) } Fetching second result set array(4) { [0]=> string(16) "Sweater " [1]=> int(6) [2]=> string(5) "llama" [3]=> string(6) "150.00" } array(4) { [0]=> string(16) "Smarty " [1]=> int(2) [2]=> string(5) "horse" [3]=> string(6) "350.00" } Fetching third result set array(1) { [0]=> string(16) "Bubbles " } array(1) { [0]=> string(16) "Gizmo " } PHP Documentation Group DB2_NEXT_RESULT(3)
Man Page