隐藏所选功能的php mysql约束违规警告

时间:2014-07-06 14:46:43

标签: php mysql warnings

我是PHP新手,我正在使用http://www.php-mvc.net/轻量级php MVC框架开发一个项目。 我有两个表之间的多对多映射,即

collection : id
profile : id
collection_profile : collection_id <--> profile_id

我创建了一个函数,我在collection_profile表中插入了映射行。 现在问题。我创建了collection_idprofile_id的复合键,因此它不会让我输入复制组合,这就是我想要的。

我在try,catch块中添加了这些行。但它仍然在页面上显示警告:PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation

我找到error_reporting(E_ERROR),但我无法弄清楚该行的位置。因为我只想禁用该功能的警告。

顺便说一下,我这样做是因为。我不想检查该行是否存在,然后尝试插入。我希望mysql能够完成这项工作。

如果您需要更多信息,请与我们联系。

提前致谢。

1 个答案:

答案 0 :(得分:2)

在PHP中,在语句前键入@可以抑制它产生的任何警告

@$stm->execute();

但是如果你理解为什么发出警告就会好得多。你可能做错了什么。

编辑: 您可以通过执行INSERT IGNORE而不是INSERT在MySQL端禁止此警告,请参阅http://dev.mysql.com/doc/refman/5.6/en/insert.html