假设您有一个表'Store',其列'domain'是唯一的。添加重复条目将产生错误,例如:
致命错误:错误的SQL:INSERT INTO store
(name
,domain
,alias
,comment
)VALUES('Flipkart' ,'www.flipkart.com','NA','Good Store')错误:在 C:\ Program Files(x86)\ EasyPHP-中重复输入“www.flipkart.com-”关键字'domain' DevServer-14.1VC11 \ data \ localweb \ projects \ MyProj \ Store.php 在线 21
但是,对于普通用户,我只想将其显示为:
检测到重复条目。再试一次..!
一种方法是首先以编程方式搜索重复条目。然后,只有在表格中找不到此类条目时才尝试插入 但是,有没有办法更容易地做到这一点(没有进行任何额外的SQL查询)?
答案 0 :(得分:2)
检查mysql_errno
或mysqli_errno
并查看错误代码是1062还是MYSQL_CODE_DUPLICATE_KEY
,如下所示:
if(mysqli_errno($connection) == 1062)
{
//The query failed due to duplicate keys.
}
然后禁止生产服务器中的警告。
答案 1 :(得分:0)
MySQL以数字,状态和消息的形式返回错误。
所以你需要捕获错误代码,然后像这样使用它:
if(mysqli_errno($db_connection)==1062){
echo "Duplicate Entry Detected. Try Again..!";
}