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(); } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |