©
本文档使用
php.cn手册 发布
(PHP 5, PECL OCI8 >= 1.1.0)
oci_fetch — Fetches the next row into result-buffer
$statement
)oci_fetch() 获取下一行(对于 SELECT 语句)到内部结果缓冲区。
Note:
在 PHP 5.0.0 之前的版本必须使用 ocifetch() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_fetch() 的别名。不过其已被废弃,不推荐使用。
statement
有效的 OCI8 报表标识符 由 oci_parse() 创建,被 oci_execute() 或 REF CURSOR statement 标识执行。
Returns TRUE
on success or FALSE
if there are no more rows in the
statement
.
Example #1 oci_fetch() with defined variables
<?php
$conn = oci_connect ( 'hr' , 'welcome' , 'localhost/XE' );
if (! $conn ) {
$e = oci_error ();
trigger_error ( htmlentities ( $e [ 'message' ], ENT_QUOTES ), E_USER_ERROR );
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200' ;
$stid = oci_parse ( $conn , $sql );
// The defines MUST be done before executing
oci_define_by_name ( $stid , 'LOCATION_ID' , $locid );
oci_define_by_name ( $stid , 'CITY' , $city );
oci_execute ( $stid );
// Each fetch populates the previously defined variables with the next row's data
while ( oci_fetch ( $stid )) {
echo "Location id $locid is $city <br>\n" ;
}
// Displays:
// Location id 1000 is Roma
// Location id 1100 is Venice
oci_free_statement ( $stid );
oci_close ( $conn );
?>
Example #2 oci_fetch() with oci_result()
<?php
$conn = oci_connect ( 'hr' , 'welcome' , 'localhost/XE' );
if (! $conn ) {
$e = oci_error ();
trigger_error ( htmlentities ( $e [ 'message' ], ENT_QUOTES ), E_USER_ERROR );
}
$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200' ;
$stid = oci_parse ( $conn , $sql );
oci_execute ( $stid );
while ( oci_fetch ( $stid )) {
echo oci_result ( $stid , 'LOCATION_ID' ) . " is " ;
echo oci_result ( $stid , 'CITY' ) . "<br>\n" ;
}
// Displays:
// 1000 is Roma
// 1100 is Venice
oci_free_statement ( $stid );
oci_close ( $conn );
?>
Note:
In PHP versions before 5.0.0 use ocifetch() instead. 在当前版本中,旧的函数名还可以被使用,但已经被废弃并不建议使用。