跳转至内容

PHP 编程/PHP 数据对象

来自维基教科书,开放世界中的开放书籍
(从 PHP 编程/pdo 重定向)
这里提供的信息不适用于所有版本的 PHP
适用版本:PHP 5.0 及更高版本
PHP 数据对象扩展需要 PHP 5.0 中引入的功能,因此不适用于 PHP 4.x 及更低版本的用户。

PHP 数据对象,也称为PDO,是一种用于访问 PHP 中数据库的接口,而不将代码绑定到特定的数据库。开发人员可以使用 PDO 接口,而不是直接调用mysql_mysqli_pg_函数,从而简化了应用程序移植到其他数据库的过程。

我如何获得它?

[编辑 | 编辑源代码]

PHP 数据对象扩展目前默认包含在 PHP 5.1 的安装中。它可用于 PHP 5.0 用户,通过 PECL,但不会随基本包一起提供。

PDO 使用最初在 PHP 5.0 中引入的 PHP 功能。因此,它不适用于 PHP 4.x 及更低版本的用户。

PDO 和 MySQL 扩展之间的区别

[编辑 | 编辑源代码]

PHP 数据对象与大多数 PHP 4.x 及更低版本应用程序使用的 MySQL 接口相比,具有许多显著的差异

  • 面向对象。虽然mysql扩展使用了一些在连接句柄和结果句柄上操作的函数调用,但 PDO 扩展具有面向对象的接口。
  • 数据库独立性。PDO 扩展与mysql扩展不同,它被设计为与多个数据库兼容,只要使用标准 SQL,用户几乎不需要付出任何努力。
  • 通过数据源名称DSN建立与数据库的连接。DSN 是一个包含连接到数据库所需所有信息的字符串,例如 'mysql:dbname=test_db'。

PHP 数据对象使用示例

[编辑 | 编辑源代码]
$dsn = 'mysql:dbname=database_name;host=localhost';
$dbuser = 'database_user';
$dbuserpw = 'database_user_password';

try
{
    $connection = new PDO($dsn, $dbuser, $dbuserpw);
}
catch (PDOException $e)
{
    echo 'There was a problem connecting to the database: ' . $e->getMessage();
}

$query = $connection->query("SELECT * FROM table"); // querying the database

有关数据源名称和特定 PDO 驱动程序(如 MySQL 和 PostgreSQL)的 DSN 字符串中元素的更多信息,请参见 PHP:PDO 驱动程序 - 手册

[编辑 | 编辑源代码]


华夏公益教科书