我知道我可以简单地if ($PDO->execute()) { //true }
查看PDO INSERT是否成功,但如果涉及到IGNORE会怎么样?
例如
INSERT IGNORE INTO MyTable SET DateTime = CAST(:dateTime AS DATETIME)
如果记录已经存在,那么会被忽略,->execute()
会返回true
还是false
?
我似乎无法找到告诉我的任何文件。
答案 0 :(得分:8)
尝试:
$stmt->execute();
$stmt->rowCount();
这将告诉您上次查询影响了多少行。
答案 1 :(得分:1)
我认为这会给我一个快速的答案,但它没有,所以我自己测试了一下:
如果IGNORE语句未更改任何记录,则->execute()
仍会返回true
。如果出现错误,它只会返回false
。