我想避免在数据库中插入重复条目时显示错误。
我添加了这个“@”,但总是显示错误:
$result = @mysql_query($query) or die("Query failed insert. Mysql error: ".mysql_error() );
输出:
Query failed insert. Mysql error: Duplicate entry for key 'url'
如何避免在插入重复条目时显示错误?
添加这个“@”是开发人员可以做的最愚蠢的事情。您将错误消息与错误本身混淆了。您必须修复错误,而不是消息。
要解决这个问题,您必须IGNORE
在查询中使用关键字
INSERT IGNORE INTO ...
具有讽刺意味的是,您实际上应该删除该die()
语句,但只是用更可靠和安全的方式替换它trigger_error()
,因此,代码应该是
$result = mysql_query($query) or trigger_error(mysql_error()." in ".$query);
好吧,就像其他答案一样,您可以在之后删除该die
子句,但这将是您手头问题的错误解决方案!.
您需要解决导致您有多个条目的问题,而不是把错误扫到地毯下并希望最好!