Heim >Datenbank >MySQL-Tutorial >Wie kann ich mysqli_connect-Fehler in PHP ordnungsgemäß behandeln und verbergen?

Wie kann ich mysqli_connect-Fehler in PHP ordnungsgemäß behandeln und verbergen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 17:30:16869Durchsuche

How Can I Handle and Hide mysqli_connect Errors in PHP Gracefully?

Benutzerdefinierte Fehlerbehandlung in PHP, wenn mysqli_connect fehlschlägt

Beim Versuch, mit mysqli_connect eine Verbindung zu einer Datenbank herzustellen, treten Fehlermeldungen auf. Während Sie mit gültigen Anmeldeinformationen korrekt eine Verbindung herstellen, suchen Sie nach einer Methode, um Fehlermeldungen vor Benutzern zu verbergen.

Beseitigen der Fehlermeldung

Ab PHP 8.1 löst MySQL aus Ausnahmen, anstatt eine manuelle Fehlerbehandlung anzufordern, wodurch es unnötig wird, Fehler manuell über if (!$conn) zu erkennen. Sie sollten diesen veralteten Code entfernen.

Datenbankfehler verwalten

Datenbankfehler werden wie jede andere PHP-Funktion automatisch ausgelöst. Versuchen Sie nicht, diese Fehler in Ihrem Code manuell abzufangen oder zu behandeln. Verwenden Sie stattdessen die Konfigurationsoption display_errors:

ini_set('display_errors', 0);

Legen Sie dies in php.ini oder Ihrem PHP-Code fest, um alle Fehlermeldungen zu unterdrücken.

Fehlermeldungen vor Benutzern ausblenden

Um zu verhindern, dass Fehlermeldungen Benutzer erreichen, benötigen Sie eine benutzerfreundliche Fehlerseite, die stattdessen eine allgemeine Meldung anzeigt. Erwägen Sie die Verwendung eines Fehlerhandlers wie:

set_exception_handler(function ($e) {
    error_log($e);
    http_response_code(500);
    echo ini_get('display_errors') ? $e : "500 Internal Server Error";
});

Dieser Handler protokolliert den Fehler und zeigt entweder den spezifischen Fehler (während der Entwicklung) oder eine allgemeine Meldung (in der Produktion) an. Es legt einen HTTP 500-Statuscode fest, der für Serverfehlerantworten erforderlich ist.

Umgang mit Verbindungsfehlern

Wenn Sie Verbindungsfehler gezielt behandeln müssen, versuchen Sie es. .catch-Block mit benutzerdefiniertem Fehlerbehandlungscode. Bewahren Sie dies jedoch getrennt von Ihrem regulären Verbindungscode auf.

Verbindungsanmeldeinformationen ausblenden

PHP 8.2 und höher verhindern, dass das Datenbankkennwort in Fehler-Stack-Traces erscheint, um die Sicherheit zu erhöhen. Stellen Sie sicher, dass Ihre PHP-Version auf dem neuesten Stand ist.

Das obige ist der detaillierte Inhalt vonWie kann ich mysqli_connect-Fehler in PHP ordnungsgemäß behandeln und verbergen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn