php -- PDO事务处理

事务处理流程

  1. 开启事务

PDO::beginTransaction

  1. 事务操作

所有的实务操作就是增删改

  1. 事务提交

PDO::commit:成功后提交数据

PDO::rollback:失败后回滚数据

<?php

    //PDO事务处理
    //连接认证
    $pdo = new PDO(‘mysql:host=localhost;dbname=project‘,‘root‘,‘root‘);

    //1.    开启事务
    $res = $pdo->beginTransaction();
    //var_dump($res);

    //2.    事务处理(多条SQL语句执行)
    $sql = "update pro_student set s_age = 28 where s_id = 20";
    $lines = $pdo->exec($sql);
    //var_dump($lines);

    $sql = "select * from pro_student where s_id = 20";
    $stmt = $pdo->query($sql);
    //var_dump($stmt->fetch(PDO::FETCH_ASSOC));

    //3.    提交事务
    if($lines){
        //更新成功
        $pdo->commit();
    }else{
        //更新失败
        echo ‘失败‘;
        $pdo->rollback();
    }

注意

  1. 要实现事务处理必须数据表的存储引擎为InnoDB
  2. 事务必须完整(开启à提交)
时间: 2024-11-10 08:29:52

php -- PDO事务处理的相关文章

pdo事务处理的一点总结

事务:由多个原子操作组成,所谓原子操作即单个操作和功能,该操作会立即执行. 事务处理流程: 1.关闭自动提交功能 2.开启事务处理模块 3.事务处理(成功->提交,失败->回滚) 4.重新开启自动提交功能 以数据库mysql为例,目前mysql支持事务的数据库(表)引擎常用的是innodb,而在数据库中可以存在多中不同的表引擎的表,故pdo默认是自动提交的原子操作.事务处理为多原子的结合操作,所以在需使用pdo事务处理时需关闭自动提交功能.

PDO 事务处理

<?php header('content-type:text/html;charset=utf-8'); try{ //最后是关闭自动提交 $pdo=new pdo("mysql:host=127.0.0.1;dbname=exam", "root", "root"); //这个是通过设置属性方法进行关闭自动提交 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0); //开启异常处理 $pdo-&

PDO事务处理

<?php // beginTransaction(); // commit(); // rollBack(); try{ $pdo = new PDO("mysql:host=localhost;dbname=test;","root",""); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){ die(&qu

pdo + 事务处理 处理线性事务

/* * 事物处理线性操作. * 以转账为例 */ 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,$op

20150113--PDO增删改查+封装PDO类

回顾 方法重写:是因为对象的访问会先去子类的类空间找,从而形成了对父类的覆盖. 继承链:类只能单继承,但是可以通过继承链来实现多继承 特殊类:final类和抽象类 接口:interface PHP重载:当访问一个权限不够或者不存在的属性或者方法的时候,会自动触发的魔术方法. 属性重载和方法重载 对象的保存和还原:serialize和unserialize(对应的类已经在内存:如果有资源属性必须进行重新加载资源),魔术方法(__sleep和__wakeup) 对象遍历:默认只能遍历public属性

php大力力 [046节] 兄弟连高洛峰 PHP教程 2014年[数据库、PDO教程]

第14章 数据库252.[2014]兄弟连高洛峰 PHP教程14.1.1 复习数据库[已发布,点击下载]253.[2014]兄弟连高洛峰 PHP教程14.1.2 phpMyAdmin的使用[已发布,点击下载]254.[2014]兄弟连高洛峰 PHP教程14.1.3 php访问MySQL[已发布,点击下载]255.[2014]兄弟连高洛峰 PHP教程14.1.4 在PHP脚本中操作MySQL数据库1[已发布,点击下载]256.[2014]兄弟连高洛峰 PHP教程14.1.5 在PHP脚本中操作My

PDO基础

PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口. PDO特性:编码一致性.灵活性.高性能.面向对象特性. PDO只是一个抽象的接口层,本身并不能操作数据库. 一.PDO安装与配置 1.配置PHP配置文件,开启相应扩展 extension = php_pdo.dll 2.开启响应数据库扩展 extension = php_pdo_mysql.dll 3.通过查看phpinfo可以看到PDO扩展的详细信息 二.PDO连接数据库 1.通过参数的形式连接数据库[建议

PDO对象方法的使用详细介绍(一)

<span style="font-size:18px;"><?php 一:插入语句 try{ $pdo=new PDO("mysql:host=localhost;dbname=xsphpdb", "root", "123456"); }catch(PDOException $e){ echo "数据库连接失败:".$e->getMessage(); exit; } //执行SQL

我的PDO 类

<?php /* public function db_insert($sql) #插入数据 public function db_delete($sql) #删除数据 public function db_update($sql) #更新数据 public function db_getOne($sql) #获取一条数据 public function db_getAll($sql) #获取多条数据 public function db_tran_start() #开启事务 public fu