php – PDO :: commit()成功或失败
发布时间:2020-05-31 01:08:10 所属栏目:PHP 来源:互联网
导读:PHP PDO::commit()文档声明该方法在成功时返回TRUE,在失败时返回FALSE.这是指beginTransaction()和commit()之间语句执行的成功还是失败? 例如,从文档中: $dbh-beginTransaction();$sql = INSERT INTO fruit (name, colour, calories) VALUES (?, ?, ?);$st
|
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时它不是很清楚. 事务本身内执行的查询将成功或失败. 当只评估“try”块中执行的查询时,我个人会尝试捕获PDOException而不是正常的Exception. $dbh->beginTransaction();
try {
// insert/update query
$dbh->commit();
} catch (PDOException $e) {
$dbh->rollBack();
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
