Start · Sprachen · PHP · Referenz · fbird_modify_user

fbird_modify_user

Funktion

Ändert einen bestehenden Benutzer in der Firebird/InterBase-Sicherheitsdatenbank.

seit PHP 5.0.0 Kategorie: db

Signatur

fbird_modify_user(resource $service_handle, string $user_name, string $password, int $first_name = 0, int $middle_name = 0, int $last_name = 0): bool

Beschreibung

fbird_modify_user() ermöglicht es, die Eigenschaften eines vorhandenen Benutzers in der Firebird- oder InterBase-Sicherheitsdatenbank zu ändern. Dazu zählen Passwort sowie Vor-, Mittel- und Nachname des Benutzers. Die Funktion benötigt einen aktiven Service-Handle, der zuvor mit ibase_service_attach() bzw. fbird_service_attach() geöffnet wurde.

Diese Funktion ist nützlich, wenn Benutzerkonten auf Datenbankebene verwaltet werden müssen, z. B. in Administrations-Werkzeugen oder automatisierten Wartungsskripten. Es können einzelne oder mehrere Felder gleichzeitig angepasst werden; nicht angegebene Parameter bleiben unverändert.

Hinweis: fbird_modify_user() ist ein Alias für ibase_modify_user(). Beide Funktionen stehen im ibase-Erweiterungsmodul zur Verfügung. Ab PHP 8.4 ist die Interbase-Erweiterung als PECL-Paket ausgelagert und nicht mehr im PHP-Kern enthalten.

Parameter

Name Typ Default Beschreibung
$service_handle Pflicht resource Ein gültiger Service-Handle, der mit ibase_service_attach() oder fbird_service_attach() geöffnet wurde.
$user_name Pflicht string Der Name des zu ändernden Benutzers in der Sicherheitsdatenbank. Groß-/Kleinschreibung wird in der Regel nicht berücksichtigt.
$password Pflicht string Das neue Passwort für den Benutzer. Soll nur der Name geändert werden, muss trotzdem ein gültiger Passwort-String übergeben werden.
$first_name int 0 Der neue Vorname des Benutzers. Wird dieser Parameter weggelassen oder auf 0 gesetzt, bleibt der bestehende Wert erhalten.
$middle_name int 0 Der neue zweite Vorname (Mittelname) des Benutzers. Wird dieser Parameter weggelassen oder auf 0 gesetzt, bleibt der bestehende Wert erhalten.
$last_name int 0 Der neue Nachname des Benutzers. Wird dieser Parameter weggelassen oder auf 0 gesetzt, bleibt der bestehende Wert erhalten.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. ungültiger Handle, fehlende Berechtigungen oder unbekannter Benutzername).

Beispiele

Passwort eines Firebird-Benutzers ändern

<?php
// Verbindung zum Firebird-Dienst herstellen
$service = ibase_service_attach('localhost', 'SYSDBA', 'masterkey');

if ($service) {
    // Passwort des Benutzers 'JOHN' ändern
    $result = fbird_modify_user($service, 'JOHN', 'neuesPasswort123');

    if ($result) {
        echo 'Benutzer erfolgreich geändert.';
    } else {
        echo 'Fehler beim Ändern des Benutzers.';
    }

    ibase_service_detach($service);
} else {
    echo 'Verbindung zum Firebird-Dienst fehlgeschlagen.';
}
Benutzer erfolgreich geändert.

Passwort und Namen eines Benutzers gleichzeitig ändern

<?php
$service = ibase_service_attach('localhost', 'SYSDBA', 'masterkey');

if ($service) {
    // Passwort, Vor- und Nachname des Benutzers 'JDOE' aktualisieren
    $result = fbird_modify_user(
        $service,
        'JDOE',
        'sicheresPasswort!42',
        'John',
        'M',
        'Doe'
    );

    echo $result
        ? 'Benutzerdaten erfolgreich aktualisiert.'
        : 'Fehler beim Aktualisieren der Benutzerdaten.';

    ibase_service_detach($service);
}
Benutzerdaten erfolgreich aktualisiert.

// Wichtig · Fallstricke

Sicherheitshinweis: Passwörter sollten niemals im Klartext im Quellcode gespeichert werden. Verwende Umgebungsvariablen oder sichere Konfigurationsdateien außerhalb des Web-Roots, um Zugangsdaten zu verwalten.

Berechtigungen: Nur der SYSDBA-Benutzer oder ein Benutzer mit entsprechenden Administratorrechten darf andere Benutzerkonten ändern. Normale Benutzer können in bestimmten Firebird-Versionen nur ihr eigenes Konto bearbeiten.

Deprecation: Die ibase_-/fbird-Erweiterung ist seit PHP 7.4 offiziell abgekündigt und ab PHP 8.4 nicht mehr im PHP-Core enthalten. Für neue Projekte sollte eine moderne Datenbankabstraktionsschicht oder ein PECL-Paket in Betracht gezogen werden.