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