oci_num_fields
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_num_fields — ある文における結果のカラム数を返す
パラメータ
statement
-
有効な OCI ステートメント ID。
戻り値
カラムの数を表す整数値、あるいはエラー時に false
を返します。
例
例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);
?>
+add a note
User Contributed Notes 1 note
jnield at impole dot com ¶
25 years ago
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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google