Signatur
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
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);
?>
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);
?>
// 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.