oci_num_fields

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

oci_num_fields返回语句中的结果列数

描述

oci_num_fields(resource $statement): int

获取给定 statement 中的列数。

参数

statement

有效的 OCI 语句标识符。

返回值

返回列数,类型为 int

示例

示例 #1 oci_num_fields() 示例

<?php

// 使用以下语句创建表格:
// CREATE TABLE mytab (id NUMBER, quantity NUMBER);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!
$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // 如果不获取行,请使用 OCI_DESCRIBE_ONLY

$ncols = oci_num_fields($stid);
for (
$i = 1; $i <= $ncols; $i++) {
echo
oci_field_name($stid, $i) . " " . oci_field_type($stid, $i) . "<br>\n";
}

// 输出:
// ID NUMBER
// QUANTITY NUMBER

oci_free_statement($stid);
oci_close($conn);

?>

添加注释

用户贡献注释 1 条注释

0
jnield at impole dot com
24 年前
以下内容并不直观

如果您需要从 PL/SQL 过程返回的 REF CURSOR 中的列数,则需要在绑定和执行后,对 OCINewCursor 返回的游标句柄使用 OCINumColumns(),而不是语句句柄。同样适用于 OCIColumnName() 及其相关函数。
To Top