7.19 PDO(php data object-php数据对象)数据库抽象层

Posted sun1987

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.19 PDO(php data object-php数据对象)数据库抽象层相关的知识,希望对你有一定的参考价值。

<?php
 header("Content-type: text/html; charset=utf-8");
 //PDO操作mysql
 /*$pdo =new PDO("mysql:host=localhost;dbname=ceshi","root","");
 $pdo->exec("set names utf8");//exec()用来执行增删改和设置的语句
 $sql = "select *from student";
 $ycl = $pdo->query($sql);//query()用来执行查询语句
 $attr = $ycl->fetchAll(PDO::FETCH_ASSOC);*/
 //var_dump($attr);
    //lastInsertId()用法:最后一次插入的id
   /* $pdo =new PDO("mysql:host=localhost;dbname=ceshi","root","");
 $pdo->exec("set names utf8");
 $sql = "insert into student values(‘‘,‘‘,‘zhangsan32‘,‘‘,‘‘,‘‘)";
    if($pdo->exec($sql)){
     $lastid = $pdo->lastInsertId();
      echo "id是{$lastid}的数据插入成功";
      var_dump($lastid);
    }*/
 //setAttribute()设置PDO的一些属性
/* $pdo =new PDO("mysql:host=localhost;dbname=ceshi","root","");
 $pdo->exec("set names utf8");
 $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);//设置查询数据返回的类型,这样就不用每次都写fetchAll(PDO::FETCH_ASSOC)了
 $sql = "select * from student";
 $ycl = $pdo->query($sql);
  //$attr = $ycl->fetchAll(PDO::FETCH_ASSOC);省去这一句
 $attr = $ycl->fetchAll();
 var_dump($attr);*/
 
//prepare()用法
  /*  $pdo = new PDO(‘mysql:host=localhost;dbname=ceshi‘, "root",  "");
    $pdo->exec("set names utf8");
    $sql = "select * from student";
    $ycl = $pdo->prepare($sql);//预处理,把sql语句保存准备,可防止sql注入,也能提高查询的效率,当另一个用户再次请求相同的sql,会先找到这个准备的sql,执行查询
    $ycl->execute();//执行
    $attr = $ycl->fetchAll(PDO::FETCH_ASSOC);*/
   
//bindValue()
   /* $pdo = new PDO(‘mysql:host=localhost;dbname=ceshi‘, "root",  "");
    $pdo->exec("set names utf8");
    $sql = "select * from student where sno =?";//防止每个人选择的sno不一样而导致重复的sql,设置sno=?
    $ycl = $pdo->prepare($sql);//预处理
    $id = 098;//这个id是传递过来的参数
    $ycl->bindValue(1,$id,PDO::PARAM_INT);//往第一个问号上绑定$id,并给$id设置类型PDO::PARAM_INT
    $ycl->execute();//执行
    $attr = $ycl->rowCount();
    var_dump($attr);*/
//columnCount()返回表的列数
   /* $pdo = new PDO(‘mysql:host=localhost;dbname=ceshi‘, "root",  "");
    $pdo->exec("set names utf8");
    $sql = "select * from student";
    $ycl = $pdo->prepare($sql);//预处理
    $ycl->execute();//执行
    //$attr = $ycl->columnCount();
    $attr = $ycl->fetchColumn(3);
    $attr = $ycl->fetchColumn(4);  //从预处理里面查询某一行数据的第n(n从0开始)列的值,执行第一次是第一行,执行第二次是第二行
    var_dump($attr);*/
 //rowCount()影响数据的行数
   /* $sql = "select * from student";
    $ycl = $pdo->prepare($sql);
    $ycl->execute();
    $attr = $ycl->rowCount();
    var_dump($attr);*/
 //PDO预处理  
    /*$pdo = new PDO(‘mysql:host=localhost;dbname=ceshi‘, "root", "");
    $pdo->exec("set names utf8");
    //查询的预处理
    $sql = "select * from student";
    $ycl = $pdo->prepare($sql);
    $ycl->execute();
    $attr = $ycl->fetchAll(PDO::FETCH_ASSOC);
    var_dump($attr);*/





































































以上是关于7.19 PDO(php data object-php数据对象)数据库抽象层的主要内容,如果未能解决你的问题,请参考以下文章

7.19 PDO事务机制

PDO

object_PDO基础封装代码

object_PDO基础封装代码

object_PDO基础连接数据库代码

7.19PHP所学知识总结