SyntaxStudy
Sign Up
MySQL Transactions in PHP (PDO)
MySQL Beginner 4 min read

Transactions in PHP (PDO)

PDO Transactions

PDO provides beginTransaction(), commit(), and rollBack() for managing transactions in PHP.

Example
try {
    $pdo->beginTransaction();
    $pdo->prepare("UPDATE accounts SET balance = balance - ? WHERE id = ?")->execute([500, 1]);
    $pdo->prepare("UPDATE accounts SET balance = balance + ? WHERE id = ?")->execute([500, 2]);
    $pdo->commit();
} catch (PDOException $e) {
    $pdo->rollBack();
    throw $e;
}
// Laravel:
DB::transaction(function () { /* ... */ }, retries: 3);
Pro Tip

DB::transaction() in Laravel auto-rolls back on exception and optionally retries on deadlock.