oci_field_is_null

フェッチしたフィールドが null であるかどうかを確認する

説明

bool oci_field_is_null(resource $statement, stringint $column)

statement の現在の行の、 指定したフィールド columnnull であるかどうかを調べます。

パラメータ

statement

有効な OCI ステートメント ID。

column

(1 から始まる) フィールド番号、またはフィールド名。

戻り値

columnnull の場合に true、 それ以外の場合に false を返します。

例1 oci_field_name の例

<?php

// 以下のテーブルを用意します
//   CREATE TABLE mytab (c1 NUMBER);
//   INSERT INTO mytab VALUES (1);
//   INSERT INTO mytab VALUES (NULL);

$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);

while (($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) != false) {
    $ncols = oci_num_fields($stid);
    for ($col = 1; $col <= $ncols; $col++) {
        var_dump(oci_field_is_null($stid, $col));
    }    
}

// 出力は
//    bool(false)
//    bool(true)

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

?>