我已经设置了
mysqli_report(MYSQLI_REPORT_STRICT)
和
try{
//query sth ,error will happend
}catch(Exception $e){ print($e->__toString()); }
但没有调试信息。但如果我设置mysqli_report(MYSQLI_REPORT_ALL)
,我可以获得调试信息。为什么呢?
答案 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;