【发布时间】:2021-11-21 08:37:09
【问题描述】:
我正在尝试连接到 pgadmin 数据库。 我已经替换了下面的 NAME、IPADDRESS、USERNAME 和 PASSWORD。
$dsn = 'mysql:dbname=NAME;host=IPADDRESS';
$user = 'USERNAME';
$password = 'PASSWORD';
try {
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
但是超时
致命错误:未捕获的 PDOException: SQLSTATE[HY000] [2002] 操作 超时
这意味着什么?这是从 php 连接到 postgreSQL 数据库的正确方法吗?
【问题讨论】:
-
第一:mysql != postgres。使用正确的驱动程序。
-
查看 dsn 的 PHP 手册:php.net/manual/en/ref.pdo-pgsql.connection.php
-
谢谢,将驱动程序 sql 更改为 pgsql 对我有用: $oPdo = new \PDO("pgsql:host={$sDbHost};port=5432;dbname={$dbname}", $用户,$pass);
-
以上,将第一行代码改为:$dsn = 'pgsql:dbname=NAME;host=IPADDRESS';
标签: php postgresql pgadmin