Start · Sprachen · PHP · Referenz · ocicolumnisnull

ocicolumnisnull

Funktion

Alias von <code>oci_field_is_null()</code> — prüft, ob ein Feld eines OCI8-Statements <code>NULL</code> ist.

seit PHP 5.0.0 Kategorie: db

Signatur

ocicolumnisnull(resource $statement, int|string $column): bool

Beschreibung

ocicolumnisnull() ist ein veralteter Alias der Funktion oci_field_is_null(). Er prüft, ob das angegebene Feld (Spalte) im aktuellen Datensatz eines OCI8-Statement-Ergebnisses den Wert NULL hat.

Die Funktion wird auf eine Oracle-Datenbankverbindung über die OCI8-Erweiterung angewendet. Nach dem Ausführen einer Abfrage mit oci_execute() und dem Positionieren auf eine Zeile via oci_fetch() oder oci_fetch_array() kann damit gezielt auf NULL-Felder geprüft werden.

Achtung: Da es sich um einen Alias handelt, sollte in neuem Code stets oci_field_is_null() verwendet werden. Aliase können in zukünftigen PHP-Versionen entfernt werden.

Parameter

Name Typ Default Beschreibung
$statement Pflicht resource Ein gültiges OCI8-Statement-Handle, das zuvor mit oci_parse() erzeugt und mit oci_execute() ausgeführt wurde.
$column Pflicht int|string Entweder der 1-basierte Index der Spalte (als int) oder der Spaltenname (als string, Groß-/Kleinschreibung wird ignoriert).

Rückgabewert

Typ
bool
Beschreibung
Gibt true zurück, wenn das angegebene Feld im aktuellen Datensatz NULL ist, andernfalls false.

Beispiele

NULL-Prüfung eines Feldes nach oci_fetch()

<?php
$conn = oci_connect('username', 'password', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT employee_id, manager_id FROM employees');
oci_execute($stid);

while (oci_fetch($stid)) {
    $empId = oci_result($stid, 'EMPLOYEE_ID');
    // Veralteter Alias – besser: oci_field_is_null()
    if (ocicolumnisnull($stid, 'MANAGER_ID')) {
        echo "Mitarbeiter $empId hat keinen Vorgesetzten (NULL).\n";
    } else {
        $managerId = oci_result($stid, 'MANAGER_ID');
        echo "Mitarbeiter $empId hat Vorgesetzten: $managerId\n";
    }
}

oci_free_statement($stid);
oci_close($conn);
?>
Mitarbeiter 100 hat keinen Vorgesetzten (NULL). Mitarbeiter 101 hat Vorgesetzten: 100 ...

Spaltenindex statt Spaltenname verwenden

<?php
$conn = oci_connect('username', 'password', 'localhost/XE');
$stid = oci_parse($conn, 'SELECT name, description FROM products WHERE rownum <= 3');
oci_execute($stid);

while (oci_fetch($stid)) {
    $name = oci_result($stid, 1);
    // Prüfung der zweiten Spalte (description) via Index
    if (ocicolumnisnull($stid, 2)) {
        echo "$name: Keine Beschreibung vorhanden.\n";
    } else {
        $desc = oci_result($stid, 2);
        echo "$name: $desc\n";
    }
}

oci_free_statement($stid);
oci_close($conn);
?>
Produkt A: Keine Beschreibung vorhanden. Produkt B: Ein tolles Produkt. ...

// Wichtig · Fallstricke

Deprecation: ocicolumnisnull() ist ein veralteter Alias. Die bevorzugte Funktion lautet oci_field_is_null(). Verwende den Alias nicht in neuem Code, da er in einer zukünftigen PHP-Version möglicherweise entfernt wird.

Die Funktion ist nur verfügbar, wenn die OCI8-Erweiterung (ext/oci8) installiert und aktiviert ist. Diese muss beim Kompilieren von PHP mit der Option --with-oci8 eingebunden werden.