“mysqli_query()或者死(mysqli_error())”是一个好习惯吗?

时间:2014-03-24 09:00:11

标签: php error-handling mysqli

所以我通常使用这个结构在php上执行我的查询,但有一天我被指出这可能是一个不好的做法。

有人可以告诉我为什么这是错的,并给我一些关于我该怎么做的提示? 我真的很想学习和改进我的代码。

提前致谢。

1 个答案:

答案 0 :(得分:3)

这种做法很糟糕。从上个世纪编写代码的方式来看,它是一种糟糕的遗传。

相反,您必须在连接代码

之前添加此行
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

它将减轻您为每个mysql调用编写额外代码的需要,因为它会使mysqli在出现错误时自动抛出Exception

虽然异常本身比常规错误更好,因为它可以被捕获并且优雅地处理。然而,如果没有被捕获,它将被转换为错误,这也是可以的 - 因为常规错误,取决于站点范围的设置,可以在屏幕上显示或记录。 再次无需编写一行额外代码。

在开发过程中,只需display_errors设置on,您就会在发生错误时看到所有错误。
在实际网站上,display_errors必须转为off,但log_errors必须为on - 而且会记录您的异常,以供将来参考。