Wann sollten wir manuell auf Verbindungsfehler in mysqli_connect() prüfen?
Das PHP-Handbuch für mysqli_connect() empfiehlt die Überprüfung des Rückgabewerts und Fehlermeldungen auf dem Bildschirm anzeigen. Es bleibt jedoch fraglich, ob eine manuelle Fehlerprüfung erforderlich ist.
Vorteile der automatischen Fehleranzeige
MySQLi generiert bei fehlgeschlagenen Verbindungen automatisch Warnungen. Diese Warnungen enthalten ausreichende Informationen, einschließlich Fehlercode, Meldung und Zeilennummer. Die manuelle Prüfung bietet keine zusätzlichen Erkenntnisse.
Nachteile der manuellen Fehlerprüfung
Konfiguration für die Fehlerbehandlung
Wenn Warnungen nicht sichtbar sind, überprüfen Sie die PHP-Fehlerprotokolldatei. PHPinfo() kann dabei helfen, diese Datei zu finden. Stellen Sie sicher, dass die PHP-Einstellungen wie folgt konfiguriert sind:
Produktion:
Entwicklung:
Ausnahmen vorbei die/exit
Vermeiden Sie die/exit. Wenn die MySQL-Verbindung fehlschlägt, lösen Sie eine Ausnahme aus, um die Skriptausführung anzuhalten. Konfigurieren Sie mysqli so, dass automatisch Ausnahmen ausgelöst werden:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
Einschränkungen von mysqli_error()
Weder $conn->error noch mysqli_error($conn) können Verbindungsfehler anzeigen. damit zusammenhängende Probleme. Sie erfordern eine gültige MySQL-Verbindung.
Fazit
Eine manuelle Fehlerprüfung für mysqli_connect() ist nicht erforderlich. Die automatischen Warnungen von MySQLi liefern ausreichend Informationen. Konfigurieren Sie PHP in Produktionsumgebungen aus Sicherheitsgründen so, dass Fehler protokolliert werden. Aktivieren Sie in Entwicklungsumgebungen die Fehleranzeige zum Debuggen. Für eine umfassende Fehlerbehandlung können Sie Ausnahmen auslösen und behandeln.
Das obige ist der detaillierte Inhalt vonWann sollten Sie manuell nach mysqli_connect()-Fehlern suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!