• PHP中关于PDO数据访问抽象层的功能操作


    PDO:数据访问抽象层

    具有三大特点:

    1.可以访问其它数据库  所有数据库都可以

    2.具有事务功能

    3.带有预处理语句功能(防止SQL注入攻击)

    实例操作代码如下:

    <?php

    //1.造PDO对象
    $dsn ="mysql:dbname=mydb;host=localhost";//数据库类型:dbname=数据库名称;host=链接的ip或本机
    $pdo =new PDO($dsn,"root","root");//$dsn,帐号,密码

    //2.写SQL语句
    $sql ="select * from info";  
    $sql ="insert into info values('004','王六','男','n007','1994-02-11')";

    //3.执行SQL语句
    $stm = $pdo->query($sql); //查询语句用query,返回的是结果
    $arr = $pdo->exec($sql);//增删改用exec,返回的是执行的行数

    //4.从PDOStatement对象里面读数据
    $arr =$stm->fetch(PDO::FETCH_NUM);//默认不选为PDO::FETCH_BOTH  fetch为选择一条数据
    $arr = $stm->fetchAll(PDO::FETCH_BOTH);//fetchAll为全选

    //事务类型:即要不全部都通过,要不全部失败,可以参考淘宝购物,必须同时满足扣款,减去库存和添加订单三项条件,缺一不可
    //beginTransation 启动事务
    //commit 提交事务
    //rollback 回滚:返回到启动事务之前


    //1.造PDO对象
    $dsn ="mysql:dbname=mydb;host=localhost";
    $pdo =new PDO($dsn,"root","root");

    //2.将PDO的错误类型设置为异常模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

    try  //尝试运行,包含从开启事务到提交事务
    {
        //开启事务
        $pdo->beginTransaction();
        $sql1 = "insert into info values('004','进口','男','n008','1994-05-11')";
        $sql2 = "insert into info values('005','审核','男','n009','1994-07-11')";
        $sql3 = "insert into info values('006','姐我','男','n0010','1994-08-11')";
        
        $pdo->exec($sql1);
        $pdo->exec($sql2);
        $pdo->exec($sql3);
        
        //提交事务
        $pdo->commit();
    }
        catch(Exception $e)
        {
            //回滚操作
            $pdo->rollBack();
            
        }
        //强类型语言中使用
        final
        {
            //最终执行,无论有没有异常出现,该代码都会执行
        }
    ?>

  • 相关阅读:
    数据库 Mysql事务详解
    数据库 Mysql内容补充二
    数据库 Mysql内容补充一
    优化Django ORM中的性能问题(含prefetch_related 和 select_related)
    django高级
    百度,谷歌,360,搜狗,神马等蜘蛛IP段
    中国电信、联通、移动、教育IP分布
    sed 给文件每行末尾追加相同字符
    centos7 lvs keepalived做DNS集群负载
    Notepad++ 删除空白行的方法
  • 原文地址:https://www.cnblogs.com/jly144000/p/7502627.html
Copyright © 2020-2023  润新知