Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie lässt sich mysqli mit MYSQLI_REPORT_STRICT Ausnahmen auslösen?

Nach einiger Recherche habe ich endlich erfahren, dass der Parameter der Funktion eine Bitmaske ist und man mehrere Werte kombinieren muss, um das gewünschte Ergebnis zu erhalten. Die letzte Kombination ist nicht übermäßig logisch, aber sie funktioniert wie beabsichtigt, indem sie bei einem Abfragefehler eine Ausnahme auslöst und dabei Warnungen ignoriert.

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

führt zum gewünschten Ergebnis:

Schwerwiegender Fehler:Nicht abgefangene Ausnahme „mysqli_sql_exception“ mit der Meldung „Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax, um sie in der Nähe von „foo“ in Zeile 1 zu verwenden.“