Start · Sprachen · PHP · Referenz · dbase_numfields

dbase_numfields

Funktion

Gibt die Anzahl der Felder (Spalten) einer geöffneten dBase-Datenbankdatei zurück.

Kategorie: db

Signatur

dbase_numfields(resource $database): int

Beschreibung

dbase_numfields() ermittelt die Gesamtzahl der Felder (Spalten) in einer geöffneten dBase-Datenbank. Sie wird typischerweise eingesetzt, um die Struktur einer .dbf-Datei dynamisch auszulesen, ohne vorher die genaue Spaltenanzahl kennen zu müssen.

Die Funktion ist vor allem dann nützlich, wenn man in Kombination mit dbase_get_record() oder dbase_get_record_with_names() alle Felder eines Datensatzes iterativ verarbeiten möchte. Die zurückgegebene Zahl kann als Obergrenze für feldindexbasierte Schleifen genutzt werden.

Die dBase-Erweiterung arbeitet mit alten .dbf-Dateien im dBase III/IV-Format und ist für Legacy-Anwendungen vorgesehen. In modernen PHP-Projekten sollte nach Möglichkeit auf aktuellere Datenbankschnittstellen zurückgegriffen werden, da die dBase-Erweiterung als veraltet gilt.

Parameter

Name Typ Default Beschreibung
$database Pflicht resource Eine gültige dBase-Datenbankressource, die zuvor mit dbase_open() oder dbase_create() geöffnet bzw. erstellt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die Anzahl der Felder (Spalten) in der Datenbank als Integer zurück. Im Fehlerfall (ungültige Ressource) gibt die Funktion false zurück.

Beispiele

Anzahl der Felder einer dBase-Datei ausgeben

<?php
// dBase-Datei im Lesemodus öffnen
$db = dbase_open('/pfad/zu/meiner_datenbank.dbf', 0);

if ($db !== false) {
    $anzahlFelder = dbase_numfields($db);
    echo "Diese Datenbank hat " . $anzahlFelder . " Felder.\n";
    dbase_close($db);
} else {
    echo "Datenbankdatei konnte nicht geöffnet werden.\n";
}
?>
Diese Datenbank hat 5 Felder.

Alle Feldinformationen dynamisch auslesen

<?php
$db = dbase_open('/pfad/zu/meiner_datenbank.dbf', 0);

if ($db !== false) {
    $anzahlFelder = dbase_numfields($db);
    echo "Felder in der Datenbank: " . $anzahlFelder . "\n";

    // Feldinformationen für jedes Feld ausgeben
    for ($i = 0; $i &lt; $anzahlFelder; $i++) {
        $feldInfo = dbase_field_info($db, $i);
        echo "Feld " . ($i + 1) . ": " . $feldInfo['name']
            . " (Typ: " . $feldInfo['type'] . ")\n";
    }

    dbase_close($db);
}
?>
Felder in der Datenbank: 3 Feld 1: ID (Typ: N) Feld 2: NAME (Typ: C) Feld 3: DATUM (Typ: D)

// Wichtig · Fallstricke

Veraltete Erweiterung: Die dBase-Erweiterung (dbase) ist eine PECL-Erweiterung für das veraltete dBase-Datenbankformat. Sie wird in modernen Projekten kaum noch eingesetzt und ist standardmäßig nicht in PHP enthalten – sie muss separat installiert werden.

Stellen Sie vor dem Aufruf immer sicher, dass die Datenbankressource gültig ist, da die Funktion bei ungültiger Ressource einen Fehler erzeugen oder false zurückgeben kann.