有时候数据库密码改了或者数据库删了,就会有一个mysqli的链接报错,是因为直接使用了类似代码
$connection = new mysqli('127.0.0.1', 'test_user', 'test_password', 'test_database');
然后就会出来这样一个警告
PHP Warning: mysqli::__construct(): (HY000/1044): Access denied for user
这样的情况我们可以使用
mysqli_report(MYSQLI_REPORT_ALL);
先定义报告都被捕获,然后try catch捕获一下
这样就能成功的避免报错.
这个函数有以下几个级别
- MYSQLI_REPORT_OFF关闭报告
- MYSQLI_REPORT_ERROR报告来自mysqli函数调用的错误
- MYSQLI_REPORT_STRICT将mysqli_sql_exception抛出错误而不是警告
- MYSQLI_REPORT_INDEX报告查询中是否未使用索引或错误索引
- MYSQLI_REPORT_ALL设置所有选项(全部报告)