如何通过IGNORE判断PDO MySQL INSERT是否成功

时间:2015-02-03 16:48:48

标签: mysql pdo insert

我知道我可以简单地if ($PDO->execute()) { //true }查看PDO INSERT是否成功,但如果涉及到IGNORE会怎么样?

例如

INSERT IGNORE INTO MyTable SET DateTime = CAST(:dateTime AS DATETIME)

如果记录已经存在,那么会被忽略,->execute()会返回true还是false

我似乎无法找到告诉我的任何文件。

2 个答案:

答案 0 :(得分:8)

尝试:

$stmt->execute();
$stmt->rowCount();

这将告诉您上次查询影响了多少行。

答案 1 :(得分:1)

我认为这会给我一个快速的答案,但它没有,所以我自己测试了一下:

如果IGNORE语句未更改任何记录,则->execute()仍会返回true。如果出现错误,它只会返回false