在我们的PHP应用程序中,当前的mysql查询错误(语法错误,唯一键的重复条目错误)不会引发PHP错误,并且脚本执行仍在继续,这很好。
我只是想知道在上述情况下什么设置(如果它可以通过设置控制)可以停止脚本执行,这样我们就会很清楚并且不会在不知不觉中误操作。
我刚刚阅读了这个问题MySQL - ignore insert error: duplicate entry,这是关于避免在唯一字段上重复输入尝试时出错。 @zombat的答案提到使用insert ... ignore
在数据输入尝试重复时引发警告而不是错误。因此,似乎重复的条目尝试(使用insert
而不是insert ... ignore
)会导致PHP错误并且脚本执行停止。这是默认行为吗?
我首先没有得到PHP错误。那么,我该如何获得它们呢?
答案 0 :(得分:1)
你应该展示一些代码。
但有几种可能性:
在可能的违规命令之前使用@的错误表示。
你有使用脚本继续的custum错误处理程序。
您使用例外而非错误,并抓住它们。
请在此处阅读:http://php.net/manual/en/function.set-error-handler.php
我们确实需要一些代码和一些设置。您可以扫描项目中的字符串:set_error_handler