有时当有一个条目要添加到数据库时,它失败了,因为它是一个重复的条目,出现错误。那么,如何在php的帮助下处理这个错误?
答案 0 :(得分:5)
您可以使用mysql_errno()
来获取错误编号,并使用mysql_error()
来获取错误消息。使用这些,您可以确定错误何时为“重复”。 A list of error numbers can be online - 只需执行 ctrl + f 并搜索单词“duplicate”以查找各种错误编号。
答案 1 :(得分:4)
你说你想在PHP中处理这个问题,但是要注意MySQL方面也有可能。我发现使用INSERT IGNORE
或ON DUPLICATE KEY UPDATE
我可以避免在PHP中处理MySQL错误。
答案 2 :(得分:1)
这取决于“在PHP中处理它”的含义。
已经回答的明显而简单的答案是观察错误信息并从那里开始工作。
虽然这可行,但我认为更好的解决方案是找出PHP应用程序中的哪些操作可以产生这种效果。这是竞争条件吗?这是一个有时错误的假设吗?它猜测插入的值而不是找出正确的值吗?这是最终用户做了一些没有想到的东西,从而没有被抓住和错误的结果?它是以不是为其设计的方式使用数据库的应用程序吗?
所有这些解决方案都不涉及捕获MySQL错误并试图弄清楚如何解决出错的问题。