/*
* 事物处理线性操作。
* 以转账为例
*/
header('Content-type:text/html;charset=utf-8'); $opt = array(PDO::ATTR_PERSISTENT => TRUE);
$dsn = "mysql:dbname=0328;host=127.0.0.1";
$user = "root";
$password = ''; $dbh = new PDO($dsn,$user,$password,$opt);
$dbh->setAttribute(PDO::ATTR_AUTOCOMMIT,0); //关闭自动提交
try{
$dbh->beginTransaction();
$price = 10;
$is_acheived = $dbh->exec("update account set money=money-$price where name='王贺军'");
if($is_acheived > 0){
echo '王贺军成功转出 ' . $price . '元<br>';
}else{
throw new PDOException("转出失败!<br>");
}
$is_acheived = $dbh->exec("update account set money=money+$price where name='王二'");
if($is_acheived > 0){
echo '王二成功转入 ' . $price . '元<br>';
}else{
throw new PDOException("转入失败!<br>");
}
echo '交易成功!';
$dbh->commit();
}catch(PDOException $e){
echo "交易失败 " . $e->getMessage();
$dbh->rollback();
}
$dbh->setAttribute(PDO::ATTR_AUTOCOMMIT,1); //开启自动提交

最新文章

  1. 高仿ios版美团框架项目源码
  2. 仅此一文让你明白ASP.NET MVC 之View的显示(仅此一文系列二)
  3. Android出现错误后改正后仍显示错误
  4. 好老板VS坏老板
  5. RxJava基本流程和lift源码分析
  6. NDK(20)JNI的5大性能缺陷及优化技巧
  7. 快速编译Delphi XE3 项目工程组
  8. 严重: Exception starting filter struts2 java.lang.NullPointerException (转载)
  9. Lang语言包
  10. Hide the common top menu in Ubuntu 12.04
  11. DOS批处理命令判断操作系统版本、执行各版本对应语句
  12. Linux前台的程序转到后台执行(关闭终端而不杀死命令)
  13. How to fix Column &#39;InvariantName&#39; is constrained to be unique 解决办法!
  14. SSM-Spring-11:Spring中使用代理工厂Bean实现aop的四种增强
  15. 深入理解Java中的不可变对象
  16. Asp.Net Core SignalR 与微信小程序交互笔记
  17. bootstrap treeview实现菜单树
  18. 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
  19. The Little Prince-12/02
  20. CopyOnWriteArrayList源码解析(1)

热门文章

  1. zabbix的sendEmail配置
  2. burpsuite扫描web目录
  3. Linux进阶路线
  4. 基于Halcon的一维条码识别技巧
  5. Java微信公众平台开发(三)--接收消息的分类及实体的创建
  6. C# XML 文件中的空格值问题
  7. ROS naviagtion analysis: costmap_2d--ObstacleLayer
  8. GCC 常见参数配置
  9. CompositePattern(23种设计模式之一)
  10. linux删除文件后磁盘空间未释放的问题