如何在PHP中显示之前简化MySQL错误?

时间:2015-12-30 07:13:18

标签: php mysql

假设您有一个表'Store',其列'domain'是唯一的。添加重复条目将产生错误,例如:
致命错误:错误的SQL:INSERT INTO storenamedomainaliascomment)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查询)?

2 个答案:

答案 0 :(得分:2)

检查mysql_errnomysqli_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..!";
}
相关问题