提问者:小点点

SQLSTATE[HY000][1045]拒绝用户'postgres'@'localhost'的访问(使用密码:NO):无法连接数据库[重复]


我已经安装了lamp,phpmyadmin

2.https://www.linuxbabe.com/ubuntu/install-phpmyadmin-apache-lamp-ubuntu-20-04

3 . https://tec admin . net/how-to-install-PostgreSQL-in-Ubuntu-20-04

之后,我做了以下操作

1.php中未注释的扩展pgsql和pdoggsql。ini文件

2.给出了pg_hba中的信任方法。conf文件

3.GRANT数据库上的所有权限my_dbpostgres;

我已经成功地在 pgadmin4 中建立了我的数据库。但我无法连接到它。下面是我的连接文件。拒绝访问用户“postgres”@“localhost”(使用密码:否)错误。我不知道我错过了什么?

<?php
$host = "localhost";
$db_name = "my_db";
$db_username = "postgres";
$db_password = "";
try {
$dbConnection = new PDO("mysql:dbname=$db_name;host=$host;charset=utf8", "$db_username", "$db_password");
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
}
?>

共2个答案

匿名用户

通过运行此命令 sudo apt-get install php-pgsql 解决

匿名用户

您将< code>mysql放在连接字符串中,这显然不适用于PostgreSQL。您应该改用< code>pgsql:

$dbConnection = new PDO("pgsql:dbname=$db_name;host=$host", $db_username, $db_password);