MYSQLI_REPORT_STRICT不会抛出mysqli_sql_exception,但是MYSQLI_REPORT_ALL会抛出

时间:2013-05-22 02:35:00

标签: php mysqli report strict

我已经设置了

mysqli_report(MYSQLI_REPORT_STRICT)

try{
   //query sth ,error will happend
 }catch(Exception $e){   print($e->__toString());       }

但没有调试信息。但如果我设置mysqli_report(MYSQLI_REPORT_ALL),我可以获得调试信息。为什么呢?

2 个答案:

答案 0 :(得分:1)

如果尚未启用错误报告(MYSQLI_REPORT_ERROR),则需要启用错误报告(取决于PHP的版本,这是每个请求或每个进程)。 MYSQLI_REPORT_STRICT本身不启用错误报告,可能需要一起应用适当的按位标志:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT)

答案 1 :(得分:0)

尝试使用

$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_STRICT;