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