小编典典

处理重复条目的错误-PHP MySQL

mysql

我有一个PHP表单,可将​​数据输入到我的MySQL数据库中。我的主键是用户输入的值之一。当用户输入表中已经存在的值时,将返回MySQL错误“键1的重复项’输入值’。我想提醒用户他们需要输入一个不同的值,而不是该错误。只是回音或其他内容。我想我的问题归结为:如何将特定的MySQL错误转换为PHP消息谢谢

编辑:下面尼克的答案是不错的,但是有什么办法可以区分特定的错误?


阅读 283

收藏
2020-05-17

共1个答案

小编典典

要检查此特定错误,您需要找到错误代码。这是1062重复密钥。然后使用的结果与以下内容errno()进行比较:

mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
    print 'no way!';
}

关于编程风格的注释
您应该始终避免使用幻数(我知道,我是在此答案中对其进行介绍的人)。相反,您可以将已知的错误代码(1062)分配给常量(例如MYSQLI_CODE_DUPLICATE_KEY)。这将使您的代码更易于维护,因为if1062内存中的含义消失了几个月后,语句中的条件仍然可读:

2020-05-17