zoukankan      html  css  js  c++  java
  • PHP PDO

      PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。

      PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

      PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。

      PDO 安装

      你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。

      在 Unix 系统上安装 PDO

      在Unix上或Linux上你需要添加以下扩展:

      extension=pdo.so

      Windows 用户

      PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展:

      extension=php_pdo.dll

      除此之外还有以下对应的各种数据库扩展:

      ;extension=php_pdo_firebird.dll

      ;extension=php_pdo_informix.dll

      ;extension=php_pdo_mssql.dll

      ;extension=php_pdo_mysql.dll

      ;extension=php_pdo_oci.dll

      ;extension=php_pdo_oci8.dll

      ;extension=php_pdo_odbc.dll

      ;extension=php_pdo_pgsql.dll

      ;extension=php_pdo_sqlite.dll

      在设定好这些配置后,我们需要重启PHP 或 Web服务器。

      接下来我们们来看下具体的实例,以下为使用PDO连接MySql数据库的实例:

      

      $dbms='mysql'; //数据库类型

      $host='localhost'; //数据库主机名

      $dbName='test'; //使用的数据库

      $user='root'; //数据库连接用户名

      $pass=''; //对应的密码

      $dsn="$dbms:host=$host;dbname=$dbName";

      try {

      $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象

      echo "连接成功
    ";

      /*你还可以进行一次搜索操作

      foreach ($dbh->query('SELECT * from FOO') as $row) {

      print_r($row); //你可以用 echo($GLOBAL); 来看到这些值

      }

      */

      $dbh = null;

      } catch (PDOException $e) {

      die ("Error!: " . $e->getMessage() . "
    ");

      }

      //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:

      $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

      ?>

      很简单吧,接下来就让我们来具体看下PHP PDO具体说明:

      预定义常量

      PHP PDO连接连接管理

      PHP PDO 事务与自动提交

      PHP PDO 预处理语句与存储过程

      PHP PDO 错误与错误处理

      PHP PDO 大对象 (LOBs)

      PDO 类:

      PDO::beginTransaction — 启动一个事务

      PDO::commit — 提交一个事务

      PDO::__construct — 创建一个表示数据库连接的 PDO 实例

      PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE

      PDO::errorInfo — 返回最后一次操作数据库的错误信息

      PDO::exec — 执行一条 SQL 语句,并返回受影响的行数

      PDO::getAttribute — 取回一个数据库连接的属性

      PDO::getAvailableDrivers — 返回一个可用驱动的数组

      PDO::inTransaction — 检查是否在一个事务内

      PDO::lastInsertId — 返回最后插入行的ID或序列值

      PDO::prepare — 备要执行的SQL语句并返回一个 PDOStatement 对象

      PDO::query — 执行 SQL 语句,返回PDOStatement对象,可以理解为结果集

      PDO::quote — 为SQL语句中的字符串添加引号。

      PDO::rollBack — 回滚一个事务

      PDO::setAttribute — 设置属性

      PDOStatement 类:

      PDOStatement::bindColumn — 绑定一列到一个 PHP 变量

      PDOStatement::bindParam — 绑定一个参数到指定的变量名

      PDOStatement::bindValue — 把一个值绑定到一个参数

      PDOStatement::closeCursor — 关闭游标,使语句能再次被执行。

      PDOStatement::columnCount — 返回结果集中的列数

      PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令

      PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE

      PDOStatement::errorInfo — 获取跟上一次语句句柄操作相关的扩展错误信息

      PDOStatement::execute — 执行一条预处理语句

      PDOStatement::fetch — 从结果集中获取下一行

      PDOStatement::fetchAll — 返回一个包含结果集中所有行的数组

      PDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。

      PDOStatement::fetchObject — 获取下一行并作为一个对象返回。

      PDOStatement::getAttribute — 检索一个语句属性

      PDOStatement::getColumnMeta — 返回结果集中一列的元数据

      PDOStatement::nextRowset — 在一个多行集语句句柄中推进到下一个行集

      PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数

      PDOStatement::setAttribute — 设置一个语句属性

      PDOStatement::setFetchMode — 为语句设置默认的获取模式。(编辑:雷林鹏 来源:网络)

  • 相关阅读:
    人名币转大写
    Http协议与TCP协议简单理解
    unity3d常用属性汇总
    ConcurrentHashMap的key value不能为null,map可以?
    一个线程池中的线程异常了,那么线程池会怎么处理这个线程?
    Dubbo负载均衡算法
    [LeetCode] 240. 搜索二维矩阵 II ☆☆☆(二分查找类似)
    [LeetCode] 74. 搜索二维矩阵 ☆☆☆(二分查找)
    Maven中的dependencyManagement 意义
    深入理解maven构建生命周期和各种plugin插件
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9625787.html
Copyright © 2011-2022 走看看