zoukankan      html  css  js  c++  java
  • PHP PDO事务处理及MYSQLengine=InnoDB

    1. 如果出现“#skip-innodb”则将“#”去掉,重启MySQL;

    2. 如果第一条无法解决,加上配置:default-storage-engine=InnoDB 再重启MySQL。

    3. 进入MYsql数据据mysql>show engines;

    转自百度经验:http://jingyan.baidu.com/article/3a2f7c2e68ac4426afd61108.html

    感谢百度经验

    事务处理数据

     1 <?php
     2 try{
     3 $pdo=new PDO("mysql:host=xxxx;dbname=xxxx","xxxx","xxxx");
     4 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
     5 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
     6 
     7 }catch(PDOException $e){
     8 echo "数据库连接失败:".$e->getMessage();
     9 exit;
    10 }
    11 
    12 //exce()返回影响的行数;
    13 // $affected_rows=$pdo->exec("insert into shops(name,price,num,desn)values('aa','12.1','10','good')");
    14 // echo "最后插入的自动增长的id".$pdo->lastInsertId();
    15 
    16 //设置错误报告模式
    17 //if(!$affected_rows){
    18 // echo $pdo->errorCode()."<br>";
    19 // print_r($pdo->errorInfo());
    20 
    21 //}else{
    22 
    23 // echo"执行成功";
    24 //}
    25 
    26 try{
    27 $pdo->beginTransaction();
    28 $price=500;
    29 $sql="update zhanghao set price=price-{$price} where id=1";
    30 
    31 $affected_rows=$pdo->exec($sql);
    32 
    33 $sql="update zhanghao set price=price+{$price} where id=2";
    34 
    35 $affected_rows=$pdo->exec($sql);
    36 echo("交易成功");
    37 $pdo->commit();
    38 
    39 }catch(PDOException $e){
    40 echo $e->getMessage();
    41 $pdo->rollBack();
    42 }
    43 
    44 ?>
    View Code
  • 相关阅读:
    1128项目跟进
    冲刺一 (day 3)
    1118 冲刺1-需求文档(初稿)
    1117 新冲刺 day1
    0622 总结与回顾
    0621 第三次冲刺
    0617 主存空间的分配和回收
    学习进度条
    软件工程学期总结
    学术诚信与职业道德
  • 原文地址:https://www.cnblogs.com/yuanjiehot/p/4321212.html
Copyright © 2011-2022 走看看