重复键上出现错误时如何捕捉?

时间:2019-04-25 11:28:13

标签: php

我想检查是否已将设置为唯一索引的列(用户名)错误。在我的研究中,我发现Mysqli生成了重复的密钥错误。我不知道该如何捕捉该错误。我可以想到的一种方法是检查db是否dp具有该值,然后手动生成某种错误。并在适当的地方显示它。 这里有帮助吗?我想准备对帐单。

1 个答案:

答案 0 :(得分:1)

在插入新条目之前,最好查询一下表,并检查是否已经有东西了:

if (!$db->query("SELECT `id` FROM `table` WHERE `username` = {$username}")) {
     $db->query("INSERT INTO `table` (`username`) VALUES ('{$username}')")
} else {
     //print or return error 
}

对我来说,运行查询返回重复错误然后尝试解析返回的错误代码(虽然似乎有可能)不是很好