mysql pdo事务

/* 开始一个事务,关闭自动提交 */直到调用commit结束事务时才提交

$dbh->beginTransaction();

 

 

bool PDO::commit ( void ) 提交一个事务,数据库连接返回到自动提交模式直到下次调用 PDO::beginTransaction() 开始一个新的事务为止。

 

 

rollBack — 回滚一个事务

 

当在一个事务内有类似删除或创建数据表等 DLL 语句时,将无法回滚此事务范围内的任何更改。

 

 

当脚本结束或连接即将被关闭时,如果尚有一个未完成的事务,那么 PDO 将自动回滚该事务。这种安全措施有助于在脚本意外终止时避免出现不一致的情况——如果没有显式地提交事务,那么假设是某个地方出错了,所以执行回滚来保证数据安全。

 

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();

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值