跳转至内容

PHP 编程/PHP 数据对象

来自维基教科书,开放的书籍,为了开放的世界
此处提供的信息不适用于所有版本的 PHP
适用版本:PHP 5.0 及更高版本
PHP 数据对象扩展需要在 PHP 5.0 中引入的功能,并且将不可用于 PHP 4.x 及更低版本的用户。

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

如何获取?

[编辑 | 编辑源代码]

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

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

PDO 与 MySQL 扩展之间的区别

[编辑 | 编辑源代码]

PHP 数据对象与大多数 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 驱动程序 - 手册

[编辑 | 编辑源代码]


华夏公益教科书