Aar*_*ron 35 php windows postgresql pdo
<?php
try {
   $dbh = new PDO('pgsql:host=localhost;port=5432;dbname=###;user=###;password=##');
   echo "PDO connection object created";
}
catch(PDOException $e)
{
      echo $e->getMessage();
}
?>
我收到错误消息"无法加载驱动程序"
Jor*_*res 72
你需要为php安装pgsql模块.在debian/ubuntu中是这样的:
sudo apt-get install php5-pgsql
或者如果安装了软件包,则需要在php.ini中启用de module
extension=php_pgsql.dll (windows)
extension=php_pgsql.so (linux)
Greatings.
小智 48
试试这个:
通过删除";"取消注释php.ini中的以下内容
;extension=php_pgsql.dll
使用以下代码连接到postgresql数据库服务器:
pg_connect("host=localhost dbname=dbname user=username password=password")
    or die("Can't connect to database".pg_last_error());
在 Apache 中,我编辑以下配置文件: C:\xampp\php.ini
我确保取消注释以下几行:
extension=php_pgsql.dll 
extension=php_pdo_pgsql.dll
最后在尝试与数据库引擎建立新连接之前重新启动 Apache。
另外,我留下了确保连接唯一的代码:
private static $pdo = null;
public static function provideDataBaseInstance() {
    if (self::$pdo == null) {
        $dsn = "pgsql:host=" . HOST .
               ";port=5432;dbname=" . DATABASE .
               ";user=" . POSTGRESQL_USER .
               ";password=" . POSTGRESQL_PASSWORD;
        try {
            self::$pdo = new PDO($dsn);
        } catch (PDOException $exception) {
            $msg = $exception->getMessage();
            echo $msg . 
                 ". Do not forget to enable in the web server the database 
                  manager for php and in the database instance authorize the 
                  ip of the server instance if they not in the same 
                  instance.";
        }
    }
    return self::$pdo;
}
GL
小智 5
我必须在 httpd.conf 中添加这一行(Windows):
LoadFile "C:/Program Files (x86)/PostgreSQL/8.3/bin/libpq.dll"