【发布时间】:2016-10-04 15:09:39
【问题描述】:
我在一个脚本中有一些查询,我想要么全部执行,要么都不执行 ..!我已经搜索过了,我发现我必须使用 transaction。
其实我想用PDO::beginTransaction。现在有两种方法。
- rollback()函数
- commit()函数
那么它们之间有什么区别呢?两个都跟我一模一样,那我什么时候用哪一个呢?
<?php
$dbh->beginTransaction();
$sth1 = $dbh->exec("DROP TABLE fruit");
$sth2 = $dbh->exec("UPDATE dessert SET name = 'hamburger'");
$sth3 = $dbh->exec("INSERT INTO names(id, name) VALUES (NULL, 'peter')");
// which one?
$dbh->commit();
// or
$dbh->rollBack();
// ??
/* Database connection is now back in autocommit mode */
?>
【问题讨论】:
-
想象 rollBack 是取消按钮,commit 是保存按钮
标签: php mysql pdo transactions