PHP编程
Completion requirements
PHP 数据对象(PDO)
PHP 数据对象(PDO,PHP Data Objects)是一个访问数据库的接口,它允许在不将代码绑定到特定数据库的情况下操作数据库。与直接调用 mysql_
、mysqli_
和 pg_
函数不同,开发者可以使用 PDO 接口,简化将应用程序移植到其他数据库的过程。
如何获取它?
PHP 数据对象扩展(PDO)在 PHP 5.1 的安装包中默认包含。对于 PHP 5.0 的用户,PDO 可以通过 PECL 安装,但并不随 PHP 基础包一起提供。
PDO 使用的是 PHP 5.0 中引入的特性,因此不适用于 PHP 4.x 及以下版本的用户。
PDO 与 MySQL 扩展的区别
PHP 数据对象与大多数在 PHP 4.x 和以下版本中使用的 MySQL 接口相比,有几个显著的区别:
-
面向对象
mysql
扩展使用了多个操作连接句柄和结果句柄的函数调用,而 PDO 扩展则具有面向对象的接口。
-
数据库独立性
- 与
mysql
扩展不同,PDO 扩展被设计为兼容多种数据库,只要所有查询都使用标准 SQL,用户无需做太多额外工作。
- 与
-
数据库连接
- 数据库连接通过数据源名称(DSN)来完成。DSN 是一个包含连接数据库所需所有信息的字符串,比如
mysql:dbname=test_db
。
- 数据库连接通过数据源名称(DSN)来完成。DSN 是一个包含连接数据库所需所有信息的字符串,比如
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"); // 查询数据库
进一步信息
关于数据源名称(DSN)及其在特定 PDO 驱动(如 MySQL 和 PostgreSQL)中的元素,详细内容请参考 PHP: PDO 驱动手册。
外部链接
Last modified: Friday, 10 January 2025, 12:38 AM