-6

我想避免在数据库中插入重复条目时显示错误。

我添加了这个“@”,但总是显示错误:

$result = @mysql_query($query) or die("Query failed insert. Mysql error: ".mysql_error() );

输出:

Query failed insert. Mysql error: Duplicate entry for key 'url'

如何避免在插入重复条目时显示错误?

4

2 回答 2

12

添加这个“@”是开发人员可以做的最愚蠢的事情。您将错误消息错误本身混淆了。您必须修复错误,而不是消息。

要解决这个问题,您必须IGNORE在查询中使用关键字

INSERT IGNORE INTO ...

具有讽刺意味的是,您实际上应该删除该die()语句,但只是用更可靠和安全的方式替换它trigger_error(),因此,代码应该是

$result = mysql_query($query) or trigger_error(mysql_error()." in ".$query);
于 2012-04-24T12:47:38.127 回答
5

好吧,就像其他答案一样,您可以在之后删除该die子句,但这将是您手头问题的错误解决方案!.

您需要解决导致您有多个条目的问题,而不是把错误扫到地毯下并希望最好!

不要忽视你的错误,修复它们!

于 2012-04-24T12:49:48.237 回答