zoukankan      html  css  js  c++  java
  • 7.19 PDO事务机制

    header("Content-type: text/html; charset=utf-8");
        $pdo = new PDO('mysql:host=localhost;dbname=ceshi', "root", "");
        $pdo->exec("set names utf8");
        //为下面的try()catch(){}抓到的异常,定义错误类型
        $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
       //开始事务机制
       $pdo->beginTransaction();
       //异常捕获(异常)
       try{
        $sql1 = "update user_money set money=(money-300) where id=1";
        $pdo->exec($sql1);
      
        $sql2 = "update user_money set money=(money+300) where id=2";
        $pdo->exec($sql2);
      
        $sql3 = "update user_money set money=(money-200) where id=2";
        $pdo->exec($sql3);
     
        $sql4 = "update user_money set money=(money+200) where id=3";
        $pdo->exec($sql4);
        //没有异常则提交该事件
        echo "转账成功";
        $pdo->commit();//提交事件,只有提交了事件,才能真正在数据库进行修改
       }catch(PDOException $pe){
        $errorInfo = $pe->getMessage();//得到错误的具体信息
        $errorCode = $pe->getCode();//得到错误的代号
        $errorLine = $pe->getLine();//得到错误的行号
        echo "<p>转账失败原因:</p>";
        echo "<p>{$errorInfo}</p>";
        echo "<p>{$errorCode}</p>";
        echo "<p>{$errorLine}</p>";
        //回滚事件,如果检测到有异常,前面的几步都要回滚到最初的状态
        $pdo->rollBack();
       }

  • 相关阅读:
    data-icon=""图片还可以是自定义的?
    orientationchange不管用啊
    menu({postion:{my:"left top"},at:"right bottom"})里的my与at会冲突吗
    关于position的疑惑
    Linux
    C++
    MATLAB
    SCE
    SFLA混合蛙跳算法
    memetic algorithm
  • 原文地址:https://www.cnblogs.com/sunhao1987/p/9338584.html
Copyright © 2011-2022 走看看