oci_num_fields

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_fields — 返回结果列的数目

说明

oci_num_fields ( resource $statement ) : int

oci_num_fields() 返回 statement 中的列的数目。

Example #1 oci_num_fields() 例子

<?php
    
echo "<pre>\n";
    
$conn = oci_connect("scott", "tiger");
    
$stmt = oci_parse($conn, "select * from emp");

    
oci_execute($stmt);

    while (
oci_fetch($stmt)) {
        echo 
"\n";
        
$ncols = oci_num_fields($stmt);
        for (
$i = 1; $i <= $ncols; $i++) {
            
$column_name  = oci_field_name($stmt, $i);
            
$column_value = oci_result($stmt, $i);
            echo 
$column_name . ': ' . $column_value . "\n";
        }
        echo 
"\n";
    }

    
oci_free_statement($stmt);
    
oci_close($conn);

    echo 
"</pre>";
?>

oci_num_fields() 在出错时返回 false。

Note:

在 PHP 5.0.0 之前的版本必须使用 ocinumcols() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_num_fields() 的别名。不过其已被废弃,不推荐使用。

User Contributed Notes

jnield at impole dot com 18-Nov-1999 07:43
The following is not immediately obvious:

If you need the number of columns in a REF CURSOR returned from a PL/SQL procedure, you need to use OCINumColumns() on the cursor handle returned by OCINewCursor after it is bound and executed, not the statement handle. Same applies for OCIColumnName() and friends.
PHP8中文手册 由 站长在线 整理 版权归PHP文档组所有