Showing posts with label sql. Show all posts
Showing posts with label sql. Show all posts

Tuesday, June 25, 2013

Mysql Transactions

Mysql Transactions

Avoid inconsistency in the cases where the script terminates unexpectedly.

try {
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();

  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");

  $dbh->commit();
 
} catch (Exception $e) {

  $dbh->rollBack(); // roll back if error occured

  echo "Failed: " . $e->getMessage();
}