Estoy intentando conectar con la base de datos MySQL remoto mediante PDO, pero falla con el error:PHP MySQL DOP a falla, mysql_connect funciona bien
Connection failed: SQLSTATE[28000] [1045] Access denied for user 'my_user'@'some.ip.address' (using password: YES)
Ésta es la forma en que estoy tratando de conectar:
$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();
}
y falla. Pero de esta manera:
mysql_connect('sql.my_domain.nazwa.pl:3307', 'my_user', 'my_password');
funciona bien.
Alguien tiene alguna idea de lo que puede estar mal con PDO, su configuración, los parámetros que configuro o tal vez este servidor específico (nazwa.pl)?
[SOLUCIONADO] Ok, por lo que era simple (pero también difícil de notar ...) error de sintaxis, debe ser un lugar de =
:
en port
parte de dsn
.
¿Cuál es la diferencia? – PeeHaa
@PeeHaa ¿Algo de formateo? Siempre he usado un PDO en la misma PC que Apache, pero los documentos que encontré implicaban la sintaxis como se indica anteriormente. – Fluffeh
Eso es vergonzoso ... No me di cuenta, que después de 'port' debería permanecer '=' no ':'. Ahora funciona. Muchas gracias, esa es la respuesta correcta. – zelazowy