php如何使用pdo

pdo : 数据库抽象层
          特点: 跨数据库   预处理  事务处理

$pdo=new PDO('mysql:host=127.0.0.1;dbname=test;charset=utf8','root','root','错误提示');      连接数据库

$pdo->query('select * from user' ) ;   //用来执行查询

$pdo->exec('update user set id=2');  //执行增加删除修改

$data=$stmt->fetchAll(PDO::FETCH_ASSOC);   //提取数据

$pdo->lastInsertId()    最插入的id
$stmt->rowCount()     受影响的行数



PDO的错误模式
     
     getAttribute()   获取pdo的错误模式
     setAttribute()     设置pdo的错误模式
 
     $pdo->setAttribute(PDO::ATTR_ERRMODE,2);  
                                           PDO::ERRMODE_SILENT           默认   0
                                           PDO::ERRMODE_WARNING      警告   1
                                           PDO::ERRMODE_EXCEPTION     异常  2

PDO 预处理

          准备一条预处理的语句 ?占位符
          $stmt = $pdo->prepare("insert into user(username,password,sex,age) values(?,?,?,?)");



1.通过绑定 值的方式 给占位符 赋值
          $stmt->bindValue(1,'柳岩');

 2.通过绑定参数的形式 给占位符赋值
            $stmt->bindParam(1,$username);

 3.通过索引数组 给占位符赋值
              $arr = ['刘德华','123','男','53'];

    // 发送预处理语句
  $res = $stmt->execute($arr);



PDO: 事务
     
    数据表:
            MyISAM  特点:执行效率比较快  不支持事务
            InnoDB  特点:支持事务

            事务处理:
                1.开启事务 beginTransaction()

                2.提交事务 commit()

                3.回滚事务 rollback()

 $pdo->beginTransaction()
               
               
原文地址:https://www.cnblogs.com/zhaizhendong/p/6767666.html