Start · Sprachen · PHP · Referenz · fbird_connect

fbird_connect

Funktion

Öffnet eine persistente oder nicht-persistente Verbindung zu einer Firebird/InterBase-Datenbank und gibt eine Verbindungsressource zurück.

seit PHP 5.0.0 Kategorie: db

Signatur

fbird_connect(string $database = null, string $username = null, string $password = null, string $charset = null, int $buffers = null, int $dialect = null, string $role = null, int $sync = null): resource|false

Beschreibung

fbird_connect() stellt eine Verbindung zu einer Firebird- oder InterBase-Datenbankdatei her. Die Funktion ist ein Alias für ibase_connect() und gehört zur Firebird/InterBase-Erweiterung von PHP. Sie gibt im Erfolgsfall eine Verbindungsressource zurück, die für alle nachfolgenden Datenbankoperationen benötigt wird.

Im Gegensatz zu fbird_pconnect() wird die durch fbird_connect() geöffnete Verbindung am Ende des Skripts automatisch geschlossen oder kann manuell mit fbird_close() beendet werden. Wird dieselbe Verbindung mehrfach geöffnet (gleiche Parameter), gibt PHP die bereits geöffnete Verbindungsressource zurück, anstatt eine neue Verbindung zu erstellen.

Die Funktion unterstützt verschiedene Zeichensätze ($charset), Dialekte ($dialect) und Puffergrößen, was sie flexibel für unterschiedliche Firebird-Konfigurationen macht. Der Dialekt steuert SQL-Kompatibilität: Dialekt 3 ist der Standard für moderne Firebird-Datenbanken.

Hinweis: fbird_connect() ist ein Alias für ibase_connect(). In neueren PHP-Versionen und der eigenständigen Firebird-Erweiterung wird bevorzugt der fbird_-Präfix verwendet.

Parameter

Name Typ Default Beschreibung
$database string Pfad zur Datenbankdatei auf dem Server, z. B. localhost:/var/lib/firebird/mydb.fdb. Bei lokalen Datenbanken kann der Hostname weggelassen werden.
$username string Benutzername für die Datenbankverbindung. Standardmäßig wird der in der php.ini konfigurierte Wert ibase.default_user verwendet.
$password string Passwort für den angegebenen Benutzer. Standardmäßig wird ibase.default_password aus der php.ini verwendet.
$charset string Zeichensatz für die Verbindung, z. B. UTF8 oder ISO8859_1. Standardmäßig wird ibase.default_charset verwendet.
$buffers int Anzahl der Datenbankpuffer, die für den Server-Cache reserviert werden. 0 übernimmt den Standardwert des Servers.
$dialect int SQL-Dialekt der Verbindung: 1, 2 oder 3. Dialekt 3 ist der Standard für moderne Firebird-Datenbanken.
$role string SQL-Rolle, die der Benutzer bei der Verbindung annimmt (nur InterBase 5 und höher).
$sync int Gibt an, ob die Verbindung synchron aufgebaut wird. Normalerweise nicht erforderlich.

Rückgabewert

Typ
resource|false
Beschreibung
Gibt im Erfolgsfall eine Firebird/InterBase-Verbindungsressource zurück. Bei einem Fehler (z. B. falsche Anmeldedaten oder nicht erreichbare Datenbank) wird false zurückgegeben.

Beispiele

Einfache Verbindung zu einer lokalen Firebird-Datenbank

<?php
$dbFile = '/var/lib/firebird/3.0/data/mydb.fdb';
$username = 'SYSDBA';
$password = 'masterkey';

$connection = fbird_connect($dbFile, $username, $password, 'UTF8');

if ($connection === false) {
    echo 'Verbindung fehlgeschlagen: ' . fbird_errmsg();
    exit;
}

echo 'Verbindung erfolgreich hergestellt.';

// Einfache Abfrage ausführen
$result = fbird_query($connection, 'SELECT * FROM KUNDEN WHERE AKTIV = 1');
while ($row = fbird_fetch_assoc($result)) {
    echo $row['NAME'] . PHP_EOL;
}

fbird_close($connection);
Verbindung erfolgreich hergestellt. Mustermann Schmidt ...

Verbindung zu einem entfernten Firebird-Server

<?php
// Verbindung zu einem Firebird-Server auf einem Remote-Host
$host     = 'db.example.com';
$dbPath   = '/opt/firebird/databases/shop.fdb';
$database = $host . ':' . $dbPath;

$conn = fbird_connect(
    $database,
    'appuser',
    'geheimesPasswort',
    'UTF8',
    0,    // Standard-Puffer
    3     // Firebird Dialekt 3
);

if (!$conn) {
    die('Datenbankfehler: ' . fbird_errmsg());
}

$res = fbird_query($conn, "SELECT COUNT(*) AS ANZAHL FROM BESTELLUNGEN");
$row = fbird_fetch_object($res);
echo 'Anzahl Bestellungen: ' . $row->ANZAHL;

fbird_free_result($res);
fbird_close($conn);
Anzahl Bestellungen: 1542

// Wichtig · Fallstricke

Sicherheit: Speichern Sie Datenbankpasswörter niemals direkt im Quellcode. Nutzen Sie Umgebungsvariablen oder externe Konfigurationsdateien, die außerhalb des Web-Roots liegen.

Deprecation: Die Firebird/InterBase-Erweiterung und ihre Aliase (fbird_*/ibase_*) werden in neueren PHP-Versionen als externe PECL-Erweiterung gepflegt und sind nicht mehr standardmäßig gebündelt. Ab PHP 7.4 ist die Erweiterung aus dem Kern entfernt worden und muss separat installiert werden.

Wiederverwendung: Werden mehrere Aufrufe mit identischen Parametern gemacht, gibt PHP dieselbe Verbindungsressource zurück. Soll eine wirklich neue Verbindung erzwungen werden, muss zunächst fbird_close() aufgerufen werden.

Persistente Verbindungen: Für persistente Verbindungen, die über mehrere Anfragen hinweg gehalten werden, verwenden Sie stattdessen fbird_pconnect().