


Why Don't MySQLi Queries Throw Exceptions Even with `mysqli_report(MYSQLI_REPORT_STRICT)`?
Dec 31, 2024 am 07:24 AMExceptions for MySQLi Query Errors
Question
Despite setting mysqli_report(MYSQLI_REPORT_STRICT), query errors in MySQLi don't throw exceptions. mysqli_sql_exception is only thrown for connection errors. Is it normal to manually check for mysqli_query()'s return value to detect query failures?
Answer
Yes, manual checking is often necessary because:
- mysqli_report(): Calling mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); does enable exception throwing.
- Try-catch: Contrary to popular belief, exceptions should not be used excessively. Most errors should be handled centrally by a site-wide error handler.
Former code:
$result = mysqli_query($DBlink, $SQL); if($result === false) { throw new MySQLiQueryException($SQL, mysqli_error($DBlink), mysqli_errno($DBlink)); }
Instead, only use try-catch sparingly for errors that require immediate attention.
The above is the detailed content of Why Don't MySQLi Queries Throw Exceptions Even with `mysqli_report(MYSQLI_REPORT_STRICT)`?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

11 Best PHP URL Shortener Scripts (Free and Premium)

Working with Flash Session Data in Laravel

6 Extra Skills Every PHP Developer Should Have

Simplified HTTP Response Mocking in Laravel Tests

Build a React App With a Laravel Back End: Part 2, React

12 Best PHP Chat Scripts on CodeCanyon

cURL in PHP: How to Use the PHP cURL Extension in REST APIs
