Start · Sprachen · PHP · Referenz · fbird_add_user

fbird_add_user

Funktion

Fügt einen neuen Benutzer zur Firebird/InterBase-Sicherheitsdatenbank hinzu.

seit PHP 5.0.0 Kategorie: db

Signatur

fbird_add_user(resource $service_handle, string $user_name, string $password, string $first_name = '', string $middle_name = '', string $last_name = ''): bool

Beschreibung

fbird_add_user() ist ein Alias für ibase_add_user() und ermöglicht es, einen neuen Benutzer direkt in der Sicherheitsdatenbank eines Firebird- oder InterBase-Datenbankservers anzulegen. Die Funktion setzt einen aktiven Service-Handle voraus, der zuvor mit ibase_service_attach() geöffnet wurde.

Die Funktion wird typischerweise in Administrationsskripten eingesetzt, wenn Benutzerkonten programmatisch verwaltet werden sollen — etwa beim automatisierten Onboarding neuer Datenbanknutzer oder bei der Bereitstellung von Anwendungsinstanzen mit dedizierten Datenbankbenutzern.

Neben dem obligatorischen Benutzernamen und Passwort können optionale Namensfelder (first_name, middle_name, last_name) angegeben werden, die in der Sicherheitsdatenbank gespeichert werden und rein informativer Natur sind.

Hinweis: Diese Funktion setzt voraus, dass das PHP-Modul interbase (bzw. firebird) geladen ist und der verbindende Benutzer über Administratorrechte auf dem Datenbankserver verfügt.

Parameter

Name Typ Default Beschreibung
$service_handle Pflicht resource Ein gültiger Service-Handle, der zuvor mit ibase_service_attach() geöffnet wurde.
$user_name Pflicht string Der Benutzername des neuen Datenbankbenutzers. Muss auf dem Server eindeutig sein und darf typischerweise maximal 31 Zeichen lang sein.
$password Pflicht string Das Passwort für den neuen Benutzer. Sollte ausreichend komplex sein und sicher übertragen werden.
$first_name string Optionaler Vorname des Benutzers, der in der Sicherheitsdatenbank gespeichert wird.
$middle_name string Optionaler zweiter Vorname oder Mittelname des Benutzers.
$last_name string Optionaler Nachname des Benutzers, der in der Sicherheitsdatenbank gespeichert wird.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück. Im Fehlerfall (z. B. fehlende Berechtigungen, bereits existierender Benutzer oder ungültiger Service-Handle) wird false zurückgegeben.

Beispiele

Neuen Firebird-Benutzer anlegen

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

if ($serviceHandle === false) {
    die('Verbindung zum Service fehlgeschlagen.');
}

// Neuen Benutzer hinzufügen
$result = fbird_add_user(
    $serviceHandle,
    'NEWUSER',
    'SecureP@ssw0rd!',
    'Max',
    '',
    'Mustermann'
);

if ($result) {
    echo 'Benutzer erfolgreich angelegt.';
} else {
    echo 'Fehler beim Anlegen des Benutzers.';
}

// Service-Verbindung schließen
ibase_service_detach($serviceHandle);
Benutzer erfolgreich angelegt.

Benutzer anlegen mit Fehlerbehandlung

<?php
$host     = 'localhost';
$adminUser = 'SYSDBA';
$adminPass = 'masterkey';

$svc = ibase_service_attach($host, $adminUser, $adminPass);

if (!$svc) {
    die('Service-Attach fehlgeschlagen: ' . ibase_errmsg());
}

$username  = 'APPUSER';
$password  = 'V3ryS3cur3!';

if (fbird_add_user($svc, $username, $password, 'App', '', 'User')) {
    echo "Benutzer '{$username}' wurde erfolgreich erstellt.\n";
} else {
    echo 'Fehler: ' . ibase_errmsg() . "\n";
}

ibase_service_detach($svc);
Benutzer 'APPUSER' wurde erfolgreich erstellt.

// Wichtig · Fallstricke

Sicherheitshinweis: Das Passwort wird im Klartext als Parameter übergeben. Stellen Sie sicher, dass Skripte, die diese Funktion nutzen, nicht öffentlich zugänglich sind und dass Passwörter nicht in Versionskontrollsystemen gespeichert werden. Verwenden Sie stets starke, zufällig generierte Passwörter.

Berechtigungen: Der für ibase_service_attach() verwendete Benutzer muss über Administratorrechte auf dem Firebird-Server verfügen (in der Regel SYSDBA oder ein gleichwertiger Administrator).

Deprecation: Die interbase_*- und fbird_*-Funktionen wurden mit PHP 7.4 aus dem Kern entfernt und stehen nur noch über die PECL-Erweiterung ibase bzw. firebird zur Verfügung. In modernen Projekten sollte auf aktiv gepflegte Alternativen geachtet werden.

fbird_add_user() ist ein direkter Alias für ibase_add_user() — beide Funktionen sind identisch in ihrer Funktionalität.