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);*/

原文地址:https://www.cnblogs.com/sunhao1987/p/9338580.html

时间: 2024-11-13 08:18:45

7.19 PDO(php data object-php数据对象)数据库抽象层的相关文章

PHP数据库抽象层--PDO(PHP Data Object) [一]

1.简介:(PDO数据库访问抽象层,统一各种 数据库的访问接口 ) PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能. 注意利用 PDO 扩展自身并不能实现任何数据库功能:必须使用一个 具体数据库的 PDO 驱动 来访问数据库服务. PDO 提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. PDO 不不提供 数据库 抽象层:它不会重写

面向对象第七天----数据库抽象层PDO

php操作mysql方法:mysqlmysqliPDO 数据库抽象层--PDO (重点)======================================================================= 1. pdo的作用 pdo(php data object) 扩展类库,为PHP访问数据库提供了轻量级的,统一的接口.无论使用 什么数据库,都可以通过一致的函数执行查询和获取数据 优势: ① 对不同的数据库提供统一的操作方式 ② 对执行批量SQL效率高,对PHP操作S

数据库抽象层 - PDO

数据库抽象层: 在数据迁移和项目操作多数据库时,为了便于操作而提供一种的解决方案. 当从一个数据库系统向另一个数据库系统迁移时,几乎不用更改太多的程序代码,如将MS SQL Server迁移到MySQL. 代码规划必须规范,尽量使用相同的数据进行对象实例化,并且使用相同的数据库抽象层(如PDO).这样只需要改变系统的配置文件即可迁移数据库. 目前,使用PHP进行不同的数据库系统开发,这些系统很不相同,而许多数据库抽象层在PHP的层次有所不同,但彼此使用方法相当,它的发展无疑会提高开发效率. 常见

数据库抽象层PDO

PDO(PHP Data Object),数据库访问抽象层,统一各种数据库的访问接口. PDO特性:编码一致性.灵活性.高性能.面向对象特性. PDO只是一个抽象的接口层,本身并不能操作数据库. 一.PDO安装与配置 1.配置PHP配置文件,开启相应扩展 extension = php_pdo.dll 2.开启响应数据库扩展 extension = php_pdo_mysql.dll 3.通过查看phpinfo可以看到PDO扩展的详细信息 二.PDO连接数据库 1.通过参数的形式连接数据库[建议

自己写好的pdo数据库抽象层 mysql为例

class pdo_database{ function __construct($type_database,$host_name,$dbname,$user_role,$pass_role,$sql){ $dbms=$type_database; //数据库类型 Oracle 用ODI,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了 $host=$host_name; //数据库主机名 $dbName=$dbname;    //使用的数据库 $user=$user_r

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 2

18.2  PDO所支持的数据库 使用PHP可以处理各种数据库系统,包括MySQL.PostgreSQL.Oracle.MsSQL等.但访问不同的数据库系统时,其所使用的PHP扩展函数也是不同的.例如,使用PHP的MySQL或MySQLi扩展函数,只能访问MySQL数据库:如果需要处理Oracle数据库,就必须安装和重新学习PHP中处理Oracle的扩展函数库,每种数据库都有对应的扩展函数,如图18-3所示.应用每种数据库时都需要学习特定的函数库,这样是比较麻烦的,更重要的是这使得数据库间的移植

php之PDO (PHP DATA OBJECT)

从 PHP 5.1 开始附带了 PDO,PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.PDO 提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库(比如mysql,oracle,mssql-),都可以用相同的函数(方法)来查询和获取数据. 1.创建PDO对象 使用PDO扩展必须在php.ini文件中打开相应的扩展,下图打开了pdo_mysql的扩展: 那怎么创建一个pdo对象呢? <?php //$dsn = "mysql:host=服务器地址/名称

PHP 认识PDO数据库抽象层

PDO全称是PHP Data Object(PHP数据对象),是PHP连接数据库中的一个扩展,目前得到普遍使用.PDO主要解决的问题是为不同的数据库提供一个统一的数据访问接口和操作层.为实现系统在跨数据库平台的开发及迁移等问题上提供了较好的解决方案.PDO 对象的获取在PDO中,要建立与数据库的连接需要实例化PDO的构造函数.PDO构造函数语法如下:PDO::__construct ( string $dsn [, string $username [, string $password [,

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 1

现在,如果你已经能熟练地使用MySQL客户端软件来操作数据库中的数据,就可以开始学习如何使用PHP来显示和修改数据库中的数据了.PHP提供了标准的函数来操作数据库.在PHP 5以上的版本中可以使用MySQL和MySQLi两套扩展函数,MySQLi是PHP 5中新增的,是对MySQL扩展的改进.但由于历史遗留问题,很多老项目是在PHP 4时使用MySQL扩展开发的,如果在原有的项目上进行二次开发,或者找一些学习的例子,都要求开发人员会使用MySQL扩展函数.如果是新设计的项目,则推荐使用MySQL