7

我已经使用 PHP 和 MySQL 很长时间了,现在我将开始使用 PostgreSQL。

首选方法是什么?

是通过 PDO 对象还是有更好的方法?

4

6 回答 6

4

PDO 对象是新的热点。我建议只要您能确保您的目标平台将始终运行 PHP 5.2+。

还有许多其他支持 PostgreSQL 的数据库抽象层与旧版本的 PHP 兼容;我推荐ADODB

即使您的 MySQL 工作,您也应该真正使用 PDO 或不同的抽象层;这样你就不会再遇到这个问题了!

于 2008-08-14T00:54:51.030 回答
2

使用 Zend 数据库:

require_once 'Zend/Db.php';
$DB_ADAPTER = 'Pdo_Pgsql';
$DB_CONFIG = array(
    'username' => 'app_db_user',
    'password' => 'xxxxxxxxx',
    'host'     => 'localhost',
    'port'     => 5432,
    'dbname'   => 'mydb'
);
$db = Zend_Db::factory($DB_ADAPTER, $DB_CONFIG);
于 2008-08-14T05:11:13.930 回答
1

当我有选择的时候,我个人会使用 PDO 来完成我所有的数据库工作。准备好的语句让我的生活变得轻松,并且它在数据库系统之间是无缝的 - 如果您必须使用一个您不习惯的系统,它会很方便。

如果你想推出自己的抽象,或者使用程序模型,这里是 Postgre 函数:http ://ca.php.net/manual/en/ref.pgsql.php

于 2008-08-14T00:55:59.217 回答
1

还有pg_whatever 函数,但不要使用它们。

他们使用较旧的、未维护的数据库驱动程序。 PDO是要走的路。

于 2008-09-20T05:01:18.990 回答
0

如果您决定不使用 PDO,我还建议创建一个继承的 PDO 类或包装类。这将在未来为您提供更多的灵活性。IE。计算查询执行时间。

于 2008-08-14T04:46:37.817 回答
0

根据应用程序的规模,您可能希望考虑到后端的连接数。共识似乎是 PHP 持久连接和 PostgreSQL 不能很好地协同工作,所以像pgpool-||这样的东西 应该用作中介。

于 2008-08-14T05:31:03.327 回答