当没有发生插入时,PDO :: execute如何返回true?

时间:2013-02-21 07:23:14

标签: mysql pdo

我正在使用PDO :: prepare()来准备INSERT语句。 PDO :: execute()返回true,$ dbh-> lastInsertId()总是有下一个id,但实际上没有插入行!

导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

如果$dbh->lastInsertId()从这个插入中返回id(即没有触发其他插入),则显然插入了该行。只需仔细检查您的表格。我的意思是。

答案 1 :(得分:0)

我要在黑暗中刺伤,然后打赌你之后没有跑$dbh->commit()。如果没有提交,它将在脚本结束或连接关闭后回滚更改。

另请参阅:Transactions and auto-commit