Signatur
Beschreibung
fbird_name_result() ist eine Funktion der Firebird/InterBase-Datenbankschnittstelle in PHP und ermöglicht es, einer bestehenden Ergebnisressource einen symbolischen Namen zuzuweisen. Anstatt eine Ressource nur über ihre Variable zu identifizieren, kann sie anschließend über diesen Namen angesprochen werden.
Diese Funktion ist besonders nützlich, wenn mehrere Abfrageergebnisse gleichzeitig verwaltet werden und eine klarere Benennung gewünscht wird, etwa in komplexen Transaktionsszenarien oder bei der Arbeit mit mehreren gleichzeitig geöffneten Cursorn.
Die Funktion ist ein Alias für ibase_name_result() und gehört zur Firebird/InterBase-Erweiterung (ibase bzw. fbird). Sie wurde als Teil des Umbenennungsprozesses der Erweiterung von ibase_* zu fbird_* eingeführt.
Hinweis: Die Firebird/InterBase-Erweiterung muss beim PHP-Build aktiviert sein. Ab PHP 8.4 wurde die Erweiterung als PECL-Paket ausgelagert.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $result Pflicht | resource | Eine gültige Ergebnisressource, die zuvor durch eine Firebird/InterBase-Abfragefunktion wie fbird_query() oder ibase_query() erzeugt wurde. |
|
| $name Pflicht | string | Der benutzerdefinierte Name, der der Ergebnisressource zugewiesen werden soll. Über diesen Namen kann die Ressource anschließend referenziert werden. |
Rückgabewert
true zurück, wenn die Benennung erfolgreich war, andernfalls false.Beispiele
Ergebnisressource benennen und referenzieren
<?php
// Verbindung zur Firebird-Datenbank herstellen
$dbh = fbird_connect('localhost:/path/to/database.fdb', 'sysdba', 'masterkey');
if (!$dbh) {
die('Verbindung fehlgeschlagen: ' . fbird_errmsg());
}
// Abfrage ausführen und Ergebnis erhalten
$result = fbird_query($dbh, 'SELECT * FROM EMPLOYEE');
// Der Ergebnisressource einen Namen zuweisen
if (fbird_name_result($result, 'employees_result')) {
echo "Ergebnis wurde erfolgreich benannt.\n";
} else {
echo "Benennung fehlgeschlagen.\n";
}
// Ergebniszeilen abrufen
while ($row = fbird_fetch_assoc($result)) {
echo $row['LAST_NAME'] . ', ' . $row['FIRST_NAME'] . "\n";
}
fbird_free_result($result);
fbird_close($dbh);
?>
Mehrere Ergebnisse mit Namen verwalten
<?php
$dbh = fbird_connect('localhost:/path/to/database.fdb', 'sysdba', 'masterkey');
// Erste Abfrage
$result1 = fbird_query($dbh, 'SELECT * FROM EMPLOYEE');
fbird_name_result($result1, 'employees');
// Zweite Abfrage
$result2 = fbird_query($dbh, 'SELECT * FROM DEPARTMENT');
fbird_name_result($result2, 'departments');
echo "Mitarbeiter:\n";
while ($row = fbird_fetch_object($result1)) {
echo ' - ' . $row->LAST_NAME . "\n";
}
echo "Abteilungen:\n";
while ($row = fbird_fetch_object($result2)) {
echo ' - ' . $row->DEPARTMENT . "\n";
}
fbird_free_result($result1);
fbird_free_result($result2);
fbird_close($dbh);
?>
// Wichtig · Fallstricke
Alias: fbird_name_result() ist ein direkter Alias für ibase_name_result(). Beide Funktionen sind funktional identisch. Es wird empfohlen, bevorzugt die fbird_*-Variante zu verwenden, da die ibase_*-Präfix-Funktionen als veraltet gelten.
Erweiterungsverfügbarkeit: Die Funktion setzt voraus, dass die Firebird/InterBase-PHP-Erweiterung installiert und aktiviert ist (extension=interbase bzw. extension=pdo_firebird in der php.ini). Ab PHP 8.4 ist die Erweiterung nicht mehr im PHP-Core enthalten und muss als PECL-Paket nachinstalliert werden.
Ressourcenverwaltung: Es sollte sichergestellt werden, dass nicht mehr benötigte Ergebnisressourcen mit fbird_free_result() freigegeben werden, um Speicherlecks zu vermeiden.