MySQL PDO - 检查是否插入了INSERT IGNORE INTO

时间:2018-04-19 07:20:17

标签: mysql pdo

如何检查查询INSERT IGNORE INTO是否已正确插入数据库?

现在我以这种方式检查了它:

$sql = $this->pdo->prepare("INSERT INGORE INTO ...");
if ( $sql->execute() )
{
    $last_id = $this->pdo->lastInsertId();
}

但是当$ last_id有时返回TRUE时,execute()总是返回0,所以我认为我的脚本不好。

感谢。

1 个答案:

答案 0 :(得分:1)

PDO::rowCount将返回受INSERT查询影响的行数。

所以你可以检查

if ( $sql->execute() && $sql->rowCount() > 0 ) {
    // do something
}