PHP中使用PDO进行数据库抽象的全面指南
1. PHP数据库支持的困境
PHP在数据库支持方面存在严重问题。它支持众多数据库平台,为每个支持的数据库在全局命名空间中创建了至少30个左右的函数,这导致命名空间混乱。而且不同数据库函数的语法不一致,例如 mysql_query 和 pg_query ,尽管功能本质相同,但参数顺序不同:
resource mysql_query ( string $query [, resource $link_identifier ] )
resource pg_query ( resource $connection , string $query )
这种不一致使得PHP数据库驱动的应用程序难以维护、扩展和移植。
为了解决这些问题,一些第三方开发者尝试创建包装类。以MDB2为例,它是PEAR仓库的一部分,以下是一个使用MDB2的示例:
<?php
require_once ‘MDB2.php’;
$dsn = ‘pgsql://chaptersix:chaptersix@localhost/chaptersix’;
$mdb2 = MDB2::factory($dsn);
if (PEAR::isError($mdb2)) {
echo ($mdb2->getMessage(). ‘ - ’ .$mdb2->getUserinfo());
}
$query = ‘SELECT
超级会员免费看
订阅专栏 解锁全文
906

被折叠的 条评论
为什么被折叠?



