Hallo,
nachdem ich mit der Hilfe hier im Forum ein Problem klären konnte, tut sich nun ein weiteres auf und ich habe bisherige Fundstücke getestet, aber irgendwie habe ich langsam den Verdacht, daß ich auf dem falschen Weg bin.
- PostgreSQL 9.6
Wenn ich mit
$conn_string = $conn_nutzer . " user=NUTZER password=PASSWORD_Nutzer application_name=" . $_SESSION['nutzer'];
$dbconn = @pg_connect($conn_string);
die Verbindung aufbaue, um den Erfolg oder eben Mißerfolg anschließend auszuwerten mit:
if ($dbconn)
{
alles ok - Datenzugriffe ausführen
}
else
{
Problem aufgetreten
}
im else dann versuche mit pg_last_error() die für den Entwickler interessante Meldung:
Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "NUTZER", database "DATENBANK", SSL off in PFAD/DATEI.php on line 205
zu bekommen scheitere ich kläglich.
pg_last_error() habe ich auch schon verwendet bei
$dbconn = @pg_connect($conn_string) or die(pg_last_error());
Ich bekomme immer nur eine “leere Antwort” - NICHTS.
Wenn ich die Verbindung ohne das fehlerunterdrückende @ herstelle, kommt die obige Fehlermeldung, aber die möchte ich dem Nutzer nicht zeigen, sondern in meine Log-Datei schreiben. Der Nutzer soll einen Hinweis bekommen und fertig, aber keine Hintergrundinformationen zur Datenbankverbindung. Auch würde den Wenigsten die Information irgendetwas bedeuten, daher eine passende selbst formuliert und mir die wichtigen Informationen ins log geschrieben.
Ich suche gerne noch etwas weiter, bin mir aber momentan unsicher, was ich noch falsch mache - laut Beschreibung soll pg_last_error() genau die Meldung liefern, die ich benötige - oder habe ich das falsch gelesen/gedeutet?
Gruß und Dank
Rainer