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