你需要问自己的第一件事是你是否想以同样的方式处理所有的数据库错误。如果你无法连接到你的数据库,这是一个严重的错误,可能表明你的数据库服务器已关闭。在这种情况下,您可能需要发送某种紧急警报(如果您尚未以其他方式监控数据库)。如果由于SQL语法错误而导致查询失败,这可能表明您不是转义输入数据或者在代码中存在错误。在这种情况下,您可能希望尽可能多地记录信息,以便稍后调试/排序问题。
所以,除此之外,你可能需要做的第一件事就是包装你的mysqli函数,这样你就可以捕获各种错误并处理它们的需要(通过编写你自己的DB类或使用你自己的函数) - PHP文档给出了有关如何开始执行此操作的示例(mysqli docs)。或者你可以看看PDO,AFAIAA有更多有用的错误处理(混合了异常和返回值)。
然后,您将需要代码中的一个单一点来处理此问题。如果你有某种前端控制器,你可能会把它放在那里。或者你可以编写自己的自定义异常处理程序来实现你所需要的(set_exception_handler)。
最快最肮脏的解决方案是编写自己的自定义错误处理程序来捕获和解析所有错误并采取相应措施(可能重定向到已经记录任何信息的db错误页面)。但我确实说过这是最肮脏的解决方案吗?