zoukankan      html  css  js  c++  java
  • PDO方式访问数据

      PDO又称为数据访问抽象层,它有三个功能:

        1.php中访问其他数据库;

        2.事务功能;

        3.防止SQL注入攻击。

      用法:

        1.造对象:

          造数据源:$dsn = "mysql(数据库名称):dbname=mydb(访问的数据库名称);host=localhost(访问的地址)"; ;

          $pdo = new PDO($dsn,"root","123");;

        2.写SQL语句:

          $sql = "查询语句";;

        3.调用

          $stm = $pdo->query($sql);

          $arr = $stm->fetchAll();。

      防止SQL注入攻击:

    $dsn = "mysql:dbname=mydb;host=localhost";
    $pdo = new PDO($dsn,"root","123");
    
    //$sql = "insert into nation values(?,?)";
    //将SQL语句放到服务器等待执行
    //$stm = $pdo->prepare($sql);
    //将参数传递到服务器开始执行
    //$arr = array("n016","不死族");
    //$stm->execute($arr); 
    
    $sql = "insert into nation values(:code,:name)";
    $stm = $pdo->prepare($sql);
    $arr = array("code"=>"n017","name"=>"精灵族");
    $stm->execute($arr);

      

      事物功能:

        事物:操作数据库的每一个步骤,使其绑在一起,同时成功或同时失败的结果。

    $dsn = "mysql:dbname=mydb;host=localhost";
    $pdo = new PDO($dsn,"root","123");
    
    //设置PDO的异常模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    
    //如何捕获异常
    try{
        //你要执行的代码
        //开启事务功能
        $pdo->beginTransaction();
        
        $sql = "insert into nation values('n018','人族')";
        $sql1 = "insert into nation values('n019','回族')";
        $pdo->query($sql);
        $pdo->query($sql1);
        
        //提交事务执行
        $pdo->commit();
    
    }catch(Exception $e){
        //echo $e->getMessage();
        //回滚
        $pdo->rollBack();
    }
  • 相关阅读:
    指针
    第一条:了解Objective-C语言的起源
    Java项目怎么使用Swagger生成API文档?
    springmvc 中@Controller和@RestController的区别
    Java ExecutorService四种线程池的例子与说明
    怎样解决Myeclipse内存溢出?
    过时date.toLocaleString()的解决方法
    maven中修改可用的版本
    String转换为Map
    tomcat在Debug模式下无法启动解决办法
  • 原文地址:https://www.cnblogs.com/maoqiaoyu123/p/8418301.html
Copyright © 2011-2022 走看看