wie fangen pg_connect() Funktion Fehler?
pg_connect() zeigt den Fehler in der Tabelle format.Anstatt zu zeigen, Fehlermeldung wie Tisch-format benötigen Sie eine Fehlermeldung, Warnung.
Fehlermeldung
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "test" in /home/test/public_html/QueueManager/Modules/Database.php auf der Linie 41
Wenn nach zeigt Fehler als Tabelle formatieren.
Nach der Ausführung pg_connect() throwed Ausnahme.
Aber ist funktioniert nicht.
Code
function connect()
{
$HOST = $GLOBALS[Database_Conn][Db_Host]; # Host name
$USER = $GLOBALS[Database_Conn][Db_User]; # database user name
$DBNAME = $GLOBALS[Database_Conn][Db_Name]; # name of the database
$PASSWORD = $GLOBALS[Database_Conn][Db_Pass]; # password the database user.
try
{
$conn = pg_connect("host=$HOST dbname=$DBNAME user=$USER ".
"password=$PASSWORD sslmode=disable");
if(!$conn)
{
throw new Exception("Database Connection Error");
}
return $conn;
}
catch (Exception $e)
{
print <<<_HTML_
<script> alert('Caught exception');
</script> _HTML_;
die();
}
}
Bitte geben Sie mir die Lösung
- Ist es nicht irgendwie verdrahtet, dass Sie eine Ausnahme werfen, während das abfangen einer Ausnahme...? (ehrliche Frage, macht PHP unterstützen diese Art von auslösen von Ausnahmen)
- Ja, PHP 5 unterstützt Ausnahmen. Ich denke mal, sein code ist wie, dass, weil er die Prüfung der Ausnahme Zeug. Das problem ist, dass die "Warning: pg_connect ()" - Meldung generiert wird, bevor pg_connect sogar zurück.
- Wahrscheinlich will er ausblenden der Standard-exception, welche offenbart, in dem Sie den Benutzernamen für die Verbindung verwendet versuchen, in diesem Fall, dass die Nachricht:
password authentication failed for user "test"
Du musst angemeldet sein, um einen Kommentar abzugeben.
pg_connect
keine Ausnahme auslösen, so haben Sie zu übersetzen, zu Ausnahme wie unten.Bitte wenden Sie sich mit diesem detail
http://php.net/manual/en/language.exceptions.php
Ausblenden der Fehler, die aus text generiert mit PHP, fügen Sie @ vor dem Funktionsaufruf, z.B.:
Mehr details hier
pg_connect()
Funktion nicht existiert, wird das Skript immer noch sterben, aber Sie sehen keine Fehler.