oci_fetch_assoc
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_fetch_assoc — クエリの次の行を連想配列で返す
説明
クエリの次の結果セット行を含む連想配列を返します。
配列の各エントリが、カラムに対応します。
この関数の典型的な使い方は、ループの中でコールすることです。
false
が返された場合は、もう行がないことをあらわします。
oci_fetch_assoc() をコールするのは、
oci_fetch_array() で OCI_ASSOC
+ OCI_RETURN_NULLS
を指定してコールするのと同じです。
パラメータ
statement
-
oci_parse() で作成して oci_execute() で実行した有効な OCI8 ステートメント ID、 あるいは
REF CURSOR
ステートメント ID。
戻り値
連想配列を返します。
statement
にもう行がない場合は false
を返します。
例
例1 oci_fetch_assoc() の例
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);
while (($row = oci_fetch_assoc($stid)) != false) {
echo $row['DEPARTMENT_ID'] . " " . $row['DEPARTMENT_NAME'] . "<br>\n";
}
oci_free_statement($stid);
oci_close($conn);
?>
注意
注意:
行の取得例は oci_fetch_array() も参照ください。
参考
- oci_fetch() - クエリの次の行を内部バッファに取得する
- oci_fetch_all() - クエリからの複数の行を二次元配列に取得する
- oci_fetch_array() - クエリの次の行を連想配列あるいは数値添字配列で返す
- oci_fetch_object() - クエリの次の行をオブジェクトとして返す
- oci_fetch_row() - クエリの次の行を配列で返す
+add a note
User Contributed Notes 2 notes
dbernhardt129 at gmail dot com ¶
14 years ago
Here's a simple example of using the oci_fetch_assoc function for anyone who would like to see it.
<?php
$oconn = oci_connect('ora_user','ora_pass','ora_inst');
if (!$oconn){
$msg = "Cannot connect to Oracle ".oci_error();
} else {
$msg = "Connected to Oracle";
}
$select_stmt = "select username from user_table";
$stid = oci_parse($oconn, $select_stmt);
oci_execute($stid);
echo "<table border='1'>\n";
while ($row = oci_fetch_assoc($stid)) {
echo "<tr>\n";
echo "<td>". $row["USERNAME"] . "</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
oci_free_statement($stid);
oci_close($oconn);
?>
Make sure you capitalize the column name for referencing the item in the associative array. Of course, this is just a simple example and you might want to do some processing on the data prior to output, but you get the idea here.
Dawid Krysiak ¶
10 years ago
Unlike oci_fetch_all(), after using oci_fetch_assoc(), LOB columns (CLOB, BLOB) are NOT returned as strings but as Oci-Lob objects. You have to use Oci-Lob->read() or load() method in order to read column content.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google