如果我使用这样的代码:
$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));
它必须死掉还是你可以在之后提出不同的查询?就像将错误日志写入另一个表的预定函数?如:
$update_result = mysqli_query( $link , $sql_update_login ) or function('$query, $error);
“或”后面的其他选项是什么?我没有在文档中找到它,感谢任何线索。
原文由 Maelish 发布,翻译遵循 CC BY-SA 4.0 许可协议
恰恰相反, 它不应该
or die()
永远。PHP 是一种遗传不良的语言。遗传性极差。并且
or die()
错误消息是最糟糕的基本信息之一:die
会在中间杀死脚本,让用户无法使用熟悉的界面,因此他们可能会退出die()
没有提示 错误发生 的位置。在一个相对较大的应用程序中,找到它会很痛苦。因此,永远不要将
die()
用于 MySQL 错误, 即使是临时调试:有更好的方法。无需手动检查错误,只需将 mysqli 配置为在错误时抛出异常,方法是将以下行添加到连接代码中
然后按原样编写每个 mysqli 命令,没有任何
or die
或任何其他内容:如果出现错误,此代码将抛出异常,因此您将始终被告知每个问题,而无需一行额外的代码。
有关如何使错误报告生成准备就绪、统一且整体合理,同时使代码更清晰的更详细说明,您可以在我关于 PHP 错误报告 的文章中找到。