如何检查INSERT IGNORE是否实际从php插入了行

时间:2016-02-23 12:00:50

标签: php mysql

我有以下问题,我不知道如何检查我的MySql查询是否实际插入或忽略了我的php代码中的插入。
这是因为据我所知它总是返回true,因为忽略了忽略子句的错误 我的样本是:

$addTagSql = "INSERT IGNORE INTO tags (text) 
  VALUES ('$text')";
$resultAddTag = $db -> query($addTagSql);

if(!$resultAddTag) {
  $response["success"] = 0;
}
else{
  $response["success"] = 1;
}  

我应该让它破裂并处理错误吗? 我无法找到一个好的答案,所以如果你能帮助我,我会很高兴:)

3 个答案:

答案 0 :(得分:4)

使用mysqli_affected_rows()

参考:http://php.net/manual/en/mysqli.affected-rows.php

答案 1 :(得分:3)

您可以尝试使用$mysqli->affected_rows

答案 2 :(得分:2)

insert ignore用于忽略错误,您可以使用insert并检查它是否返回sql错误。