Signatur
Beschreibung
db2_conn_errormsg() gibt eine lesbare Fehlermeldung zurück, die den zuletzt aufgetretenen Verbindungsfehler beschreibt. Die Meldung enthält in der Regel den SQLCODE sowie eine textuelle Beschreibung des Problems, was die Diagnose von Verbindungsproblemen erheblich erleichtert.
Die Funktion kann entweder ohne Argument aufgerufen werden, um den Fehler des zuletzt fehlgeschlagenen db2_connect()- oder db2_pconnect()-Versuchs abzurufen, oder mit einem bestehenden Verbindungs-Resource-Handle, um Fehler dieser spezifischen Verbindung abzufragen.
Sie ist das Gegenstück zu db2_conn_error(), das nur den kurzen SQLSTATE-Code zurückgibt. db2_conn_errormsg() liefert hingegen eine vollständige, für den Endnutzer oder Entwickler verständlichere Fehlermeldung. Typischerweise wird sie in Fehlerbehandlungsroutinen nach einem gescheiterten Verbindungsaufbau eingesetzt.
- Ohne Argument: gibt den Fehler des letzten fehlgeschlagenen Verbindungsversuchs zurück.
- Mit Resource: gibt den Fehler der angegebenen Verbindung zurück.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $connection | resource | null | Ein gültiges DB2-Verbindungs-Handle, wie es von db2_connect() oder db2_pconnect() zurückgegeben wird. Wird kein Argument übergeben, wird die Fehlermeldung des zuletzt fehlgeschlagenen Verbindungsversuchs zurückgegeben. |
Rückgabewert
Beispiele
Fehlermeldung nach gescheitertem Verbindungsaufbau ausgeben
<?php
$conn = db2_connect('INVALID_DSN', 'user', 'password');
if (!$conn) {
$errorMsg = db2_conn_errormsg();
echo "Verbindung fehlgeschlagen: " . $errorMsg;
} else {
echo "Verbindung erfolgreich hergestellt.";
db2_close($conn);
}
Fehlermeldung für eine spezifische Verbindungsressource abrufen
<?php
$dsn = 'DATABASE=testdb;HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;';
$user = 'dbuser';
$pass = 'wrongpassword';
$conn = db2_connect($dsn, $user, $pass);
if ($conn === false) {
// Kein Handle vorhanden – Fehler ohne Argument abrufen
echo "Verbindungsfehler (SQLSTATE): " . db2_conn_error() . "\n";
echo "Verbindungsfehler (Meldung): " . db2_conn_errormsg() . "\n";
} else {
// Verbindung besteht, aber wir rufen eventuelle Fehler per Handle ab
echo "Fehlerstatus der Verbindung: " . db2_conn_errormsg($conn) . "\n";
db2_close($conn);
}
// Wichtig · Fallstricke
Sicherheitshinweis: Geben Sie die vollständige Ausgabe von db2_conn_errormsg() niemals direkt an den Endnutzer aus, da die Fehlermeldung sensible Informationen wie Datenbanknamen, Hostnamen oder interne Systemdetails enthalten kann. Loggen Sie Fehler serverseitig und zeigen Sie dem Benutzer nur eine generische Fehlermeldung an.
Die Funktion setzt voraus, dass die ibm_db2-Extension installiert und aktiviert ist (extension=ibm_db2 in der php.ini). Ohne diese Extension ist db2_conn_errormsg() nicht verfügbar.
Im Gegensatz zu db2_stmt_errormsg(), das für Fehler bei der Ausführung von SQL-Statements zuständig ist, bezieht sich db2_conn_errormsg() ausschließlich auf Verbindungsfehler.