如何使用php确定已传递INSERT IGNORE?
我想检查一下,如果这个代码如何使用php确定已传递INSERT IGNORE?,php,mysql,Php,Mysql,我想检查一下,如果这个代码 mysql_query("INSERT IGNORE INTO `popupip` (`userid` ,`ownerid`,`ip` ,`date` ,`ref`) VALUES ('$secid', $ownerid, '$date' , '$ref');" ); 已经插入到表中,做一些工作 if (condition) { // is not duplicated and I should pay to him/her } else
mysql_query("INSERT IGNORE
INTO `popupip` (`userid` ,`ownerid`,`ip` ,`date` ,`ref`)
VALUES ('$secid', $ownerid, '$date' , '$ref');"
);
已经插入到表中,做一些工作
if (condition) {
// is not duplicated and I should pay to him/her
} else {
// is duplicated an I shouldn't pay to him/her
}
对于条件
,我应该输入什么
注意:
userid
、ownerid
、ip
、date
的组合是唯一的mysql\u受影响的行
函数可以帮助您做到这一点。您可以将mysql\u infected\u rows()置于您的条件中,以检查是否有任何行受到影响。您可以使用并检查插入的行是否不止一行。但是正如您将在链接中看到的,
mysql.*
函数已被弃用。您应该使用及其方法。这应该包括SQL错误和重复条目
if(mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error()))
{
if(mysql_affected_rows($link)==1){
//insert took place
}else{
//no insert
}
}
我有一个关于种族状况的巨大数据库。我仍然可以使用mysql\u受影响的\u行吗?如果它仅用于此查询,我想您可以。但如果您想得到更完整的答案,可以将此添加到问题中。请参阅和。