2015-12-30 49 views
1

假設您有一個表'Store',其中包含一個唯一的'domain'列。添加重複條目會產生錯誤,如:
致命錯誤:錯誤SQL:INSERT INTO storenamedomainaliascomment)VALUES( 'Flipkart', 'www.flipkart.com', '不適用','好店「)錯誤:重複的項目 'www.flipkart.com-' 關鍵 '在C區':\程序文件(x86)\的EasyPHP-DevServer-14.1VC11 \ DATA \ localweb \項目\的Myproj \ Store.php在線如何在使用PHP顯示之前簡化MySQL錯誤?

但是,對於普通用戶,我想簡單地顯示爲:

Duplicate Entry Detected. Try Again..!

一種方法是對編程重複條目優先搜索。然後嘗試僅在表中未找到此類條目時才插入它。
但是,有沒有辦法更容易地做到這一點(沒有任何額外的SQL查詢)?

回答

2

檢查mysql_errnomysqli_errno,看看錯誤代碼是1062或MYSQL_CODE_DUPLICATE_KEY像這樣:

if(mysqli_errno($connection) == 1062) 
{ 
//The query failed due to duplicate keys. 
} 

然後抑制生產服務器的警告。

0

的MySQL在一個數字,狀態,和一個消息的形式返回錯誤。

所以你需要捕捉錯誤代碼號,然後使用它是這樣的:

if(mysqli_errno($db_connection)==1062){ 

    echo "Duplicate Entry Detected. Try Again..!"; 
}