我一直在使用PHP& MySQL已经很久了,我即将开始使用PostgreSQL。
首选方法是什么?
是通过PDO对象还是有更好的东西?
答案 0 :(得分:4)
PDO对象是新的热点。我建议您只要确保目标平台始终运行PHP 5.2 +。
还有许多其他数据库抽象层支持PostgreSQL,它们与旧版本的PHP兼容;我建议ADODB。
你应该真正使用PDO或不同的抽象层,即使你的MySQL工作;那样你就不会再遇到这个问题了!
答案 1 :(得分: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);
答案 2 :(得分:1)
我个人在我选择时使用PDO进行所有数据库工作。准备好的陈述使我的生活变得轻松,并且它在数据库系统之间是无缝的 - 如果你必须使用一个你不习惯的语言,那就很方便了。
如果你想推广自己的抽象,或者使用程序模型,这里是Postgre函数:http://ca.php.net/manual/en/ref.pgsql.php
答案 3 :(得分:1)
还有the pg_whatever functions,但不要使用它们。
他们使用较旧的,未维护的数据库驱动程序。 PDO是要走的路。
答案 4 :(得分:0)
如果您决定不使用PDO,我还建议您创建一个继承的PDO类或包装类。这将为您提供更大的灵活性。即。计算查询执行时间。
答案 5 :(得分:0)
根据应用程序的规模,您可能希望考虑连接到后端的连接数。共识似乎是PHP持久连接和PostgreSQL不能很好地协同工作,所以像pgpool-||这样的东西应该用作中介。