Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
隐藏选定函数的php mysql约束冲突警告_Php_Mysql_Warnings - Fatal编程技术网

隐藏选定函数的php mysql约束冲突警告

隐藏选定函数的php mysql约束冲突警告,php,mysql,warnings,Php,Mysql,Warnings,我是PHP新手,正在使用light PHP MVC框架开发一个项目。 我有两个表之间的多对多映射,即 collection : id profile : id collection_profile : collection_id <--> profile_id 集合:id 个人资料:id 集合\u配置文件:集合\u id配置文件\u id 我创建了一个函数,在该函数中,我在collection_profile表中插入映射行。 现在问题来了。我已经创建了collection\u i

我是PHP新手,正在使用light PHP MVC框架开发一个项目。 我有两个表之间的多对多映射,即

collection : id
profile : id
collection_profile : collection_id <--> profile_id
集合:id
个人资料:id
集合\u配置文件:集合\u id配置文件\u id
我创建了一个函数,在该函数中,我在collection_profile表中插入映射行。 现在问题来了。我已经创建了
collection\u id
profile\u id
的组合键,所以它不会让我输入重复组合,这就是我想要的

我在try,catch块中添加了这些行。但它仍然在页面上显示警告:
PDOStatement::execute():SQLSTATE[23000]:完整性约束冲突

我找到了,但我不知道该把这条线放在哪里。因为我只想禁用该功能的警告

顺便说一句,我这样做是因为。我不想检查行是否存在,然后尝试插入。我想让mysql来做这项工作

如果您需要更多信息,请告诉我


提前感谢。

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

@$stm->execute();
但如果你能理解为什么会发出警告,那就更好了。你可能做错了什么

编辑:
您可以在MySQL端通过执行
INSERT IGNORE
而不是
INSERT
来抑制此警告,请参见

我将尝试。我这样做是因为。我不想检查组合是否不存在,然后尝试插入。我想让mysql来做这项工作。在这种情况下,由于您使用的是mysql,您可以执行INSERT IGNORE来抑制mysql侧的警告,我会这样做。添加@是一个更好的解决方案。再次感谢。我不需要包装代码,然后重试catch,对吗?@AmitChotaliya对,不会抛出异常。如果行已经存在,MySQL将什么也不做