Start · Sprachen · PHP · Referenz · fbird_name_result

fbird_name_result

Funktion

Weist einer Firebird/InterBase-Ergebnisressource einen benutzerdefinierten Namen zu, über den sie später referenziert werden kann.

seit PHP 5.0.0 Kategorie: db

Signatur

fbird_name_result(resource $result, string $name): bool

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

Typ
bool
Beschreibung
Gibt 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);
?>
Ergebnis wurde erfolgreich benannt. Doe, John Smith, Jane ...

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);
?>
Mitarbeiter: - Doe - Smith Abteilungen: - Engineering - Sales ...

// 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.