从PHP连接到PostgreSQL数据库的首选方式是什么?

8

我已经使用PHP和MySQL很长时间了,现在准备换用PostgreSQL。

那么,使用什么方法最好呢?

是使用PDO对象还是有更好的方法?

6个回答

5

PDO对象是最新的热门技术。只要您能确保目标平台始终运行PHP 5.2+,我建议您使用它。

还有许多其他支持PostgreSQL并兼容旧版本PHP的数据库抽象层,我建议使用ADODB

即使是在处理MySQL时,您也应该使用PDO或其他抽象层,这样您就不会再遇到这个问题了!


2

使用Zend Db:

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);

1

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

它们使用旧的、未维护的数据库驱动程序。PDO才是正确的选择。


1

就编程而言,我个人在可选情况下会使用PDO处理所有数据库工作。准备好的语句让我的生活更轻松,并且在不同的数据库系统之间无缝切换——如果你不习惯使用某个系统,那么这非常方便。

如果您想要自己编写抽象或采用过程式模型,在此处是Postgre函数链接:http://ca.php.net/manual/en/ref.pgsql.php


0
我建议如果你决定不使用PDO,可以创建一个继承的PDO类或包装器类。这将为您提供更多的灵活性,例如计算查询执行时间。

0

根据你的应用规模,你可能需要考虑到后端连接数。一般认为 PHP 持久连接和 PostgreSQL 不太兼容,因此建议使用像 pgpool-|| 这样的中间件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接