db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row Sets the result set pointer to the next row or requested row

说明

db2_fetch_row ( resource $stmt [, int $row_number ] ) : bool

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

参数

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

返回值

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

范例

Example #1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql 
'SELECT name, breed FROM animals WHERE weight < ?';
$stmt db2_prepare($conn$sql);
db2_execute($stmt, array(10));
while (
db2_fetch_row($stmt)) {
    
$name db2_result($stmt0);
    
$breed db2_result($stmt1);
    print 
"$name $breed";
}
?>

以上例程会输出:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Example #2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn 
db2_connect("","","");
  
$sql 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  
$stmt db2_exec($conn$sql, array('cursor' => DB2_SCROLLABLE));
  while (
$row db2_fetch_both($stmt)){
    echo 
"<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  
$stmt db2_exec($conn$sql, array('cursor' => DB2_SCROLLABLE));
  while (
$row db2_fetch_array($stmt)){
    echo 
"<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  
$stmt db2_exec($conn$sql, array('cursor' => DB2_SCROLLABLE));
  while (
$row db2_fetch_object($stmt)){
    echo 
"<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  
db2_close($conn);
?>

以上例程会输出:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

参见

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set

相关文章
php cubrid 函数 fetch the next row from a result setphp ibm db2 函数 returns a result set listing the columns and associated privileges for a tablephp ibm db2 函数 returns a result set listing the columns and associated metadata for a tablephp ibm db2 函数 returns an array indexed by column position representing a row in a result setphp ibm db2 函数 returns an array indexed by column name representing a row in a result setphp ibm db2 函数 returns an array indexed by both column name and position representing a row in a result setphp ibm db2 函数 sets the result set pointer to the next row or requested rowphp ibm db2 函数 returns the name of the column in the result setphp ibm db2 函数 returns the position of the named column in a result setphp ibm db2 函数 returns the precision of the indicated column in a result setphp ibm db2 函数 returns the scale of the indicated column in a result setphp ibm db2 函数 returns the data type of the indicated column in a result setphp ibm db2 函数 requests the next result set from a stored procedurephp ibm db2 函数 returns a result set listing primary keys for a tablephp ibm db2 函数 returns a result set listing stored procedure parametersphp ibm db2 函数 returns a result set listing the stored procedures registered in a databasephp ibm db2 函数 returns a single column from a row in the result setphp ibm db2 函数 returns a result set listing the unique row identifier columns for a tablephp ibm db2 函数 returns a result set listing the tables and associated metadata in a databasephp sqlsrv 函数 makes the next row in a result set available for reading
关注编程学问公众号