oci_fetch_all

(PHP 5)

oci_fetch_all -- 結果データの全ての行を配列に取得する

説明

int oci_fetch_all ( resource statement, array &output [, int skip [, int maxrows [, int flags]]] )

oci_fetch_all() は全ての行の結果をユーザー定義の配列に 格納して取得します。 oci_fetch_all() は取得した行数、 失敗した場合 FALSE を返します。 skip は結果を取得する際に無視する行数です (デフォルトの値は 0 で、最初の行から開始されます) 。 maxrows は読み込む行数で、 skip 番目の行から開始されます。 (デフォルトは -1 で、全ての行 を意味します)

注意: この関数は、 NULL フィールドに PHPの NULL 値を設定します。

パラメータ flags には 次の値の組み合わせが可能です。

OCI_FETCHSTATEMENT_BY_ROW
OCI_FETCHSTATEMENT_BY_COLUMN (デフォルト値)
OCI_NUM
OCI_ASSOC

例 1. oci_fetch_all() の例

<?php
/* oci_fetch_all の例 mbritton at verinet dot com (990624) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);
if (
$nrows > 0) {
   echo
"<table border=\"1\">\n";
   echo
"<tr>\n";
   foreach (
$results as $key => $val) {
      echo
"<th>$key</th>\n";
   }
   echo
"</tr>\n";

   for (
$i = 0; $i < $nrows; $i++) {
      echo
"<tr>\n";
      foreach (
$results as $data) {
         echo
"<td>$data[$i]</td>\n";
      }
      echo
"</tr>\n";
   }
   echo
"</table>\n";
} else {
   echo
"No data found<br />\n";
}
echo
"$nrows Records Selected<br />\n";

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

oci8 ドライバによるデータ型マッピングの 詳細については、ドライバが サポートするデータ型 を参照ください。

oci_fetch_all() は失敗時に FALSE を返します。

注意: PHP バージョン 5.0.0 以前では、代わりに ocifetchstatement() を使用しなければなりません。 まだこの名前を使用することができ、下位互換性のため oci_fetch_all() への別名として残されていますが、 推奨されません。