6

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) の何が問題なのか、誰にもわかりますか?

[解決済み] わかりました、それは簡単でし=た(しかし、注意が必要です...) 構文エラー:です。portdsn

4

2 に答える 2

5

置き換えてみてください:

$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";
于 2012-08-03T11:57:52.070 に答える
1

他のサーバー上のデータベースに接続しようとしている場合は、コードがホストされている場所の IP アドレスから、ケース 3307 の特定のポートで SQL サーバーがアクセスできることを確認してください。両方のサーバーが同じ場合は、localhost または 127.0.0.1 で試してください。

于 2012-08-03T12:44:38.250 に答える