• PHP 数据库抽象层pdo


    PDO是PHP数据对象(PHP Data Object)的缩写。

    pdo就是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得数据库间地移植容易实现。

    pdo自带事务功能,并且可以防止sql注入。

    PDO
    //1.访问不同的数据库
    //2.自带事务功能
    //3.防止SQL注入

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

    //2.写SQL语句
    $sql = "update nation set name='兽族' where code='n013'";

    //3.执行SQL语句
    //$r = $pdo->query($sql);
    $r = $pdo->exec($sql);*/

    //事务功能
    //造对象
    $dsn = "mysql:dbname=mydb;host=localhost";
    $pdo = new PDO($dsn,"root","123");

    //设置异常模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);


    //写SQL语句
    $sql1 = "insert into nation values('n016','人族')";
    $sql2 = "insert into nation values('n017','不死族')";

    //执行两条SQL语句
    try
    {
     //启动事务
     $pdo->beginTransaction();
     
     $pdo->exec($sql1);
     $pdo->exec($sql2);
     
     //提交事务
     $pdo->commit();
    }
    catch(PDOException $e)
    {
     //$e->getMessage();
     //回滚
     $pdo->rollBack();
    }

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

    //写SQL语句,预处理语句
    $sql = "insert into nation values(?,?)";

    //准备SQL语句,返回statement对象
    $st = $pdo->prepare($sql);

    //绑定参数
    /*$st->bindParam(1,$code);
    $st->bindParam(2,$name);

    $code="n022";
    $name="矮人族";*/

    $attr = array("n023","魔族");

    //提交执行,不用给SQL语句了,已经传过去了
    var_dump($st->execute($attr));


    //预处理语句里面用?占位的,给数组的时候要给索引数

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

    //写SQL语句,预处理语句
    $sql = "select * from nation";

    //准备执行
    $st = $pdo->prepare($sql);

    //执行
    $st->execute();

    //读数据
    var_dump($st->fetchAll(PDO::FETCH_ASSOC));

  • 相关阅读:
    Cypress安装使用(E2E测试框架)
    AirtestIDE详解(跨平台的UI自动化编辑器)
    Linux之自动化部署
    工作笔记 之 Python应用技术
    工作笔记 之 Linux服务搭建
    工作笔记 之 互联网实用技术
    Git全面应用
    Python-Thread(通俗易懂)
    php笔记(二)PHP类和对象之Static静态关键字
    php笔记(一)面向对象编程
  • 原文地址:https://www.cnblogs.com/bujianchenxi/p/6054855.html
Copyright © 2020-2023  润新知