zoukankan      html  css  js  c++  java
  • [PHP]

    PHP使用PDO事务操作数据库。

    参考文章:

    http://php.ncong.com/mysql/pdo/pdo_shiwu.html

    上代码:

    <!doctype html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
        <?php
           try {
                $pdo = new PDO("mysql:host=localhost;dbname=test", "root", "XXXXXX");
                //设置错误使用异常的模式
                $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                //关闭自动提交
                $pdo-> setAttribute(PDO::ATTR_AUTOCOMMIT, 0);
            } catch (PDOException $e) {
                echo sprintf("Exception message=%s", $e->getMessage());
                exit();
            }
            
            $strSql = "UPDATE mytable SET headline='哈哈' WHERE id=:id";
            
            $pdo->beginTransaction();
            try {
                for ($i = 1; $i <= 5; $i++) {
                    $stmt = $pdo->prepare($strSql);
                    $affectedRows = $stmt->execute(array("id"=>$i));
                    if ($affectedRows > 0) {
                        echo sprintf("update success id=%s<br/>", $i);
                    }
                    else {
                        echo sprintf("update false id=%s", $i);
                    }
                }
                $pdo->commit();
            } catch (PDOException $e) {
                echo sprintf("Exception message=%s", $e->getMessage());
                $pdo->rollBack();
                exit();
            }
            
            // 需要打开自动提交
            $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1);
            
            echo "<hr/>";
            $stm = $pdo->prepare("SELECT id, headline, create_time FROM mytable");
            $stm->execute();
            $stm->bindColumn(1, $id);
            $stm->bindColumn("headline", $headline);
            $stm->bindColumn(3, $createTime);
            while ($stm->fetch(PDO::FETCH_BOUND)) {
                echo "<p>", $id, " - " , $headline, " - ", $createTime, "</p>";
            }
        ?>
        </body>
    </html>
  • 相关阅读:
    CF 640(div4)
    ABC 166
    CF 637 div2
    HDU-1875 畅通工程再续
    POJ1251-Jungle Roads
    POJ1797 Heavy Transportation
    Gym-101911K Medians and Partition
    Gym-101911A Coffee Break
    【Vue】Re09 Webpack 第一部分(介绍、安装、配置)
    【Vue】Re08 模块化
  • 原文地址:https://www.cnblogs.com/HD/p/4520376.html
Copyright © 2011-2022 走看看