我正在尝试使用PDO连接到远程MySQL数据库,但失败并显示以下错误:

Connection failed: SQLSTATE[28000] [1045] Access denied for user 'my_user'@'some.ip.address' (using password: YES)

这就是我尝试连接的方式:
$dsn = "mysql:host=sql.my_domain.nazwa.pl;dbname=my_db;port:3307";
$user = "my_user";
$password = "my_password";

try {
    $this->db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

它失败了。
但是这样:
mysql_connect('sql.my_domain.nazwa.pl:3307', 'my_user', 'my_password');

工作良好。

任何人都知道PDO,其配置,我设置的参数或此特定服务器(nazwa.pl)有什么问题吗?

[已解决]好的,所以这很简单(但也要注意...)语法错误,应该是=而不是:port部分中的dsn

最佳答案

尝试更换:

$dsn = "mysql:host=sql.my_domain.nazwa.pl;dbname=my_db;port:3307";


$dsn = "mysql:host=sql.my_domain.nazwa.pl;dbname=my_db; port=3307";

10-04 12:52