Heim > Backend-Entwicklung > PHP-Tutorial > Warum lösen MySQLi-Abfragen selbst mit „mysqli_report(MYSQLI_REPORT_STRICT)' keine Ausnahmen aus?

Warum lösen MySQLi-Abfragen selbst mit „mysqli_report(MYSQLI_REPORT_STRICT)' keine Ausnahmen aus?

Patricia Arquette
Freigeben: 2024-12-31 07:24:11
Original
271 Leute haben es durchsucht

Why Don't MySQLi Queries Throw Exceptions Even with `mysqli_report(MYSQLI_REPORT_STRICT)`?

Ausnahmen für MySQLi-Abfragefehler

Frage

Trotz der Einstellung mysqli_report(MYSQLI_REPORT_STRICT) lösen Abfragefehler in MySQLi keine Ausnahmen aus. mysqli_sql_Exception wird nur bei Verbindungsfehlern ausgelöst. Ist es normal, den Rückgabewert von mysqli_query() manuell zu prüfen, um Abfragefehler zu erkennen?

Antwort

Ja, eine manuelle Überprüfung ist oft notwendig, weil:

  1. mysqli_report(): Aufruf von mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); ermöglicht das Auslösen von Ausnahmen.
  2. Try-Catch: Entgegen der landläufigen Meinung sollten Ausnahmen nicht übermäßig verwendet werden. Die meisten Fehler sollten zentral von einem standortweiten Fehlerhandler behandelt werden.

Ehemaliger Code:

$result = mysqli_query($DBlink, $SQL);
if($result === false) {
    throw new MySQLiQueryException($SQL, mysqli_error($DBlink), mysqli_errno($DBlink));
}
Nach dem Login kopieren

Verwenden Sie Try-Catch stattdessen nur sparsam Fehler, die sofortige Aufmerksamkeit erfordern.

Das obige ist der detaillierte Inhalt vonWarum lösen MySQLi-Abfragen selbst mit „mysqli_report(MYSQLI_REPORT_STRICT)' keine Ausnahmen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage