使用交易的新手,无法在网上找到明确的答案。在这个例子中,我意识到query1和query2都必须成功地将任何东西提交给数据库,如果他们不接受,那么catch就会运行...
是否在commit()之后输入了代码(此示例中此处为更多代码)仅在事务发生时运行或者是否会运行?
try {
$db->beginTransaction();
query1
query2
$db->commit();
**more code here**
}
catch(Exception $e)
{
$db->rollback();
some error message
}
答案 0 :(得分:1)
如果抛出异常,try {}块中的剩余代码将不会被执行
http://php.net/manual/en/language.exceptions.php
抛出异常时,语句后面的代码不会 执行,PHP将尝试找到第一个匹配的catch块。