我有一个PHP表单,可将数据输入到我的MySQL数据库中。我的主键是用户输入的值之一。当用户输入表中已经存在的值时,将返回MySQL错误“键1的重复项’输入值’。我想提醒用户他们需要输入一个不同的值,而不是该错误。只是回音或其他内容。我想我的问题归结为:如何将特定的MySQL错误转换为PHP消息谢谢
编辑:下面尼克的答案是不错的,但是有什么办法可以区分特定的错误?
要检查此特定错误,您需要找到错误代码。这是1062重复密钥。然后使用的结果与以下内容errno()进行比较:
1062
errno()
mysqli_query('INSERT INTO ...'); if (mysqli_errno() == 1062) { print 'no way!'; }
关于编程风格的注释 您应该始终避免使用幻数(我知道,我是在此答案中对其进行介绍的人)。相反,您可以将已知的错误代码(1062)分配给常量(例如MYSQLI_CODE_DUPLICATE_KEY)。这将使您的代码更易于维护,因为if当1062内存中的含义消失了几个月后,语句中的条件仍然可读:
MYSQLI_CODE_DUPLICATE_KEY
if