美文网首页
pdo调试三个类以及事务处理

pdo调试三个类以及事务处理

作者: 小祈祈博客 | 来源:发表于2019-02-17 10:57 被阅读0次

pdo三个类

pdo类 和数据库连接有关的类(连接,执行)

PDOSatement类 准备语句

PDOException异常类

其他很多常量

创建pdo对象

dsn(data source name)数据源

主机位置和库名,连接那种数据库的驱动

在配置文件中指定pdo

[pdo]

pdo.dsn.mysqlpdo=mysql:host=localhost;dbname=test;

<?

header("Content-type:text/html;charset=utf-8");

try{

$driver=array(PDO::ATTR_AUTOCOMMIT=>0,PDO::ATTR_PERSISTENT=>true);

$pdo=newPDO("mysql:host=localhost;dbname=test","root","123456",$driver);

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1);

$pdo->setAttribute(PDO::ATTR_PERSISTENT,true);

}catch(PDOException $error){

 echo "error".$error->getMessage();

 exit;

  }

echo $pdo->getAttribute(PDO::ATTR_PERSISTENT)."<br>";

echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION)."<br>";

echo $pdo->getAttribute(PDO::ATTR_DRIVER_NAME)."<br>";

echo $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT)."<br>";

echo $pdo->getAttribute(PDO::ATTR_SERVER_VERSION)."<br>";

?>

<?

header("Content-type:text/html;charset=utf-8");

try{

$PDO=newPDO("mysql:host=localhost;dbname=chat;","root","123456",array(PDO::ATTR_AUTOCOMMIT=>0));

$PDO->query("SET NAMES utf8");

//设置警告模式

$PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

//建议设置成异常模式而不是警告模式

$PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

}catch(PDOException $error){

 echo "error:".$error->getMessage();

 exit;

    }

//执行sql语句 exec() query() prepare()

//结果集 query()

//exec()非select语句,影响的行数

try{

  $PDO->beginTransaction();

$price=500;

$sql="update zhanghao set price=price-{$price}where id=1";

$affected_rows=$PDO->exec($sql);

if(!$affected_rows)

throw new PDOException("张三转出失败");

$sql="update zhanghao set price=price+{$price}where id=2";

$affected_rows=$PDO->exec($sql);

if(!$affected_rows)

throw new PDOException("向李四转出失败");

echo "交易成功";

$PDO->commit();

}catch(PDOException $error){

 echo "error:".$error->getMessage();

  $PDO->rollback();

  }

$PDO->setAttribute(PDO::ATTR_AUTOCOMMIT,1);

?>

相关文章

  • pdo调试三个类以及事务处理

    pdo三个类 pdo类和数据库连接有关的类(连接,执行) PDOSatement类准备语句 PDOExceptio...

  • MySQL + PDO 操作

    PDO扩展 注意:这里面有的的是伪代码,不可以执行 PDO连接MySQL PDO对象 基本方法 事务处理 PDOS...

  • PDO事务处理

    PDO事务处理事务处理具有四个特性:原子性、一致性、独立性、持久性。

  • [PDO]①⑥--事务处理

  • pdo类

    pdo类PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,...

  • PHP里的PDO

    一、 PDO类的构造方法: -------------------------------------------...

  • 了解PDO

    1、pdo的概念 PDO全称:PHP Data Object ( php 数据对象 )是一系列PHP类,抽象...

  • PDO

    PDO:php数据抽象层操作数据库,简单理解就是一个用于操作数据库的对象; pdo原理 PDO主要分为三大类: P...

  • PDO

    PDO就是PHP Data Object的简称。PDO主要用来代替数据库操作类。PHP同时可以操作多个数据库。例如...

  • [PDO]②②--查询调试和校验

网友评论

      本文标题:pdo调试三个类以及事务处理

      本文链接:https://www.haomeiwen.com/subject/lpfgeqtx.html