我有这样的查询:
$query="INSERT IGNORE INTO mytable (key, word1, word2) VALUES (1, 'abc', 'def')";
如果由于主键已经存在而忽略了查询,我想以某种方式“捕获”。
有没有制作“if”语句,以便我的程序可以通知用户该查询被忽略了?
答案 0 :(得分:2)
我通过使用mysql_affected_rows
检查查询是否影响了行来解决了这个问题。
if($productquery&&mysql_affected_rows($conn)>0){
echo "Success.";
echo mysql_affected_rows($conn); //returns 1
}else{
echo "Some error." . mysql_error(). " ".mysql_affected_rows($conn); //returns 0 affected rows since it was ignored
}
答案 1 :(得分:1)
问题是当你特别忽略错误然后你没有得到它们。因此,您必须删除 IGNORE 并捕获错误。
您的案件中没有任何错误。