连接数据库报错的异常可以用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 设置所有选项(全部报告)
posted @ 2022-02-14 10:27  李照耀  阅读(268)  评论(1编辑  收藏  举报