# PHP 数据对象

# 简介

`PHP 数据对象`（PDO）扩展为 PHP 访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以将特定具体数据库的特性公开作为标准扩展函数。注意不能单独使用 PDO 扩展执行任何数据库功能；必须使用具体数据库的 PDO 驱动程序来访问数据库服务器。

PDO 提供了数据访问抽象层，这意味着，不管使用哪种数据库，都可以用相同的函数来查询和获取数据。PDO 不提供数据库抽象；不会重写 SQL 或模拟缺失的特性。如果需要，应该使用成熟的抽象层。

PDO 随 PHP 一起提供。

- 安装/配置
  - 安装
  - 运行时配置
- 预定义常量
  - 获取模式
- 连接与连接管理
- 事务与自动提交
- 预处理语句与存储过程
- 错误与错误处理
- 大对象 (LOB)
- PDO — PDO 类
  - PDO::beginTransaction — 启动一个事务
  - PDO::commit — 提交一个事务
  - PDO::connect — Connect to a database and return a PDO subclass for drivers that support it
  - PDO::__construct — 创建一个表示数据库连接的 PDO 实例
  - PDO::errorCode — 获取跟数据库句柄上一次操作相关的 SQLSTATE
  - PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
  - PDO::exec — 执行 SQL 语句，并返回受影响的行数
  - PDO::getAttribute — 取回一个数据库连接的属性
  - PDO::getAvailableDrivers — 返回一个可用驱动的数组
  - PDO::inTransaction — 检查是否在事务内
  - PDO::lastInsertId — 返回最后插入行的ID或序列值
  - PDO::prepare — 预处理要执行的语句，并返回语句对象
  - PDO::query — 预处理并执行没有占位符的 SQL 语句
  - PDO::quote — 为 SQL 查询里的字符串添加引号
  - PDO::rollBack — 回滚事务
  - PDO::setAttribute — 设置属性
- PDOStatement — 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::getIterator — Gets result set iterator
  - PDOStatement::nextRowset — 在一个多行集合语句句柄中推进到下一个行集合
  - PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数
  - PDOStatement::setAttribute — 设置一个语句属性
  - PDOStatement::setFetchMode — 为语句设置默认的获取模式
- PDORow — The PDORow class
- PDOException — PDOException 异常类
- PDO 驱动
  - CUBRID PDO Driver — CUBRID PDO Driver (PDO_CUBRID)
  - MS SQL Server PDO Driver — Microsoft SQL Server and Sybase PDO Driver (PDO_DBLIB)
  - Pdo\Dblib — The Pdo\Dblib class
  - Firebird PDO Driver — Firebird PDO Driver (PDO_FIREBIRD)
  - Pdo\Firebird — The Pdo\Firebird class
  - IBM PDO Driver — IBM PDO Driver (PDO_IBM)
  - Informix PDO Driver — Informix PDO Driver (PDO_INFORMIX)
  - MySQL PDO Driver — MySQL PDO Driver (PDO_MYSQL)
  - Pdo\Mysql — The Pdo\Mysql class
  - MS SQL Server PDO Driver — Microsoft SQL Server PDO Driver (PDO_SQLSRV)
  - Oracle PDO Driver — Oracle PDO Driver (PDO_OCI)
  - ODBC and DB2 PDO Driver — ODBC and DB2 PDO Driver (PDO_ODBC)
  - Pdo\Odbc — The Pdo\Odbc class
  - PostgreSQL PDO Driver — PostgreSQL PDO Driver (PDO_PGSQL)
  - Pdo\Pgsql — The Pdo\Pgsql class
  - SQLite PDO Driver — SQLite PDO Driver (PDO_SQLITE)
  - Pdo\Sqlite — The Pdo\Sqlite class

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open