Beware, the field index starts with 1, not 0. It's a bit counter-intuitive.
PHP - Manual: oci_field_name
2024-12-21
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_field_name — 返回字段名
$statement
, int $field
): stringoci_field_name() 返回与字段数字索引(从 1 开始)相对应的字段名。
示例 #1 oci_field_name() 例子
<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";
$ncols = oci_num_fields($stmt);
for ($i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stmt, $i);
$column_type = oci_field_type($stmt, $i);
$column_size = oci_field_size($stmt, $i);
echo "<tr>";
echo "<td>$column_name</td>";
echo "<td>$column_type</td>";
echo "<td>$column_size</td>";
echo "</tr>";
}
echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>
注意:
在 PHP 5.0.0 之前的版本必须使用 ocicolumnname() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_field_name() 的别名。不过其已被废弃,不推荐使用。
官方地址:https://www.php.net/manual/en/function.oci-field-name.php