连接数据库报错的异常可以用mysqli_report来捕获
有时候数据库密码改了或者数据库删了,就会有一个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 设置所有选项(全部报告)