php – PDO :: commit()成功或失败

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – PDO :: commit()成功或失败脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP PDO::commit()文档声明方法在成功时返回TRUE,在失败时返回FALSE.这是指beginTransaction()和commIT()之间语句执行的成功还是失败?

例如,从文档中:

$dbh->beginTransaction();
$sql = 'INSERT INTO fruit (name,colour,calories) VALUES (?,?,?)';
$sth = $dbh->PRepare($sql);

foreach ($fruits as $fruit) {
    $sth->execute([
        $fruit->name,$fruit->colour,$fruit->calories,]);
}

$dbh->commit();

如果上述任何执行失败,由于原子事务的“全有或全无”基础,commit()方法是否会返回false?

返回值基于pdo :: commit本身,而不是您尝试提交的事务.
当没有事务处于活动状态时它返回FALSE,但是当它应该返回TRUE或FALSE时它不是很清楚.

事务本身内执行的查询将成功或失败.
使用Mr.Tk的示例,如果可能,将提交事务,并且在“try”块中执行查询时不会发生@L_126_9@,并且如果在“try”块中发生错误则回滚.

当只评估“try”块中执行的查询时,我个人会尝试捕获PDOException而不是正常的Exception.

$dbh->beginTransaction();
try {
    // insert/update query
    $dbh->commit();
} catch (PDOException $e) {
    $dbh->rollBack();
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – PDO :: commit()成功或失败全部内容,希望文章能够帮你解决php – PDO :: commit()成功或失败所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。