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数据库的实例:
<?php$dbms='mysql'; //数据库类型$host='localhost'; //数据库主机名$dbName='test'; //利用的数据库$user='root'; //数据库连接用户名$pass=''; //对应的密码$dsn=\公众$dbms:host=$host;dbname=$dbName\"大众;try {$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO工具echo \公众连接成功<br/>\"大众;/你还可以进行一次搜索操作foreach ($dbh->query('SELECT from FOO') as $row) {print_r($row); //你可以用 echo($GLOBAL); 来看到这些值}/$dbh = null;} catch (PDOException $e) {die (\公众Error!: \"大众 . $e->getMessage() . \公众<br/>\"大众);}//默认这个不是长连接,如果须要数据库长连接,须要末了加一个参数: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 — 为语句设置默认的获取模式。