【发布时间】:2009-12-27 16:30:02
【问题描述】:
例子:
// assume PDO instance here: $dbh
function beginTransaction() {
global $dbh;
$dbh->beginTransaction();
}
beginTransaction(); // no typo! called the function above!
$dbh->exec($sql1); // assume $sql1 is there
$dbh->exec($sql2); // assume $sql2 is there
$dbh->commit();
我想问的是:必须在 ONE 范围内启动和提交事务,还是可以将事务跨越广泛的函数和方法调用?对我来说,被调用对象不关心调用者是合乎逻辑的。但是例如在 Objective-C / Cocoa 中,UIView 动画块是范围感知的!所以我就像飞机上的鸟一样困惑。
【问题讨论】:
-
我不明白为什么它应该关心,只要你把指针放在它周围,谁在使用它,即使是不同的包含脚本也不重要。如果脚本停止执行然后再次启动,或者如果你让它休眠很长一段时间,你就会失去它。只需将 sql_query() 保存到某个私有成员以供以后使用,它应该没有问题。顺便说一句,那个函数调用看起来不错。
标签: php