PHP PDO::commit()文档声明该方法在成功时返回TRUE或在失败时返回FALSE。这是否指beginTransaction()和commit()之间语句执行的成功或失败?PDO :: 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?
我真的不记得需要在代码库中提交,你有没有尝试过吗? – Jonast92
我不确定我是否理解。手动交易的目的是确保多个报表都是成功的,或者没有。 –
我认为你在想这件事。如果在这种情况下失败,那么很可能所有的都会失败,反之亦然。只需为代码添加适当的错误处理,并且如果您真的关心什么是失败,那么只需将其记录下来即可。我从来不必在服务器端代码中使用提交,我发现你不太可能必须这样做。 – Jonast92