diff --git a/includes/database/mysql/database.inc b/includes/database/mysql/database.inc index 356e039..248530c 100644 --- a/includes/database/mysql/database.inc +++ b/includes/database/mysql/database.inc @@ -180,7 +180,8 @@ class DatabaseConnection_mysql extends DatabaseConnection { // If there are no more layers left then we should commit. unset($this->transactionLayers[$name]); if (empty($this->transactionLayers)) { - if (!PDO::commit()) { + // Always check for active transaction before do commit. + if (PDO::inTransaction() && !PDO::commit()) { throw new DatabaseTransactionCommitFailedException(); } }