example - php pdo tutorial deutsch




PHP PDO Verbindung zu MySQL schlägt fehl, mysql_connect funktioniert gut (2)

Versuchen Sie Folgendes zu ersetzen:

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

mit

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

Ich versuche eine Verbindung zur entfernten MySQL-Datenbank mit PDO herzustellen, aber es schlägt mit einem Fehler fehl:

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

So versuche ich mich zu verbinden:

$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();
}

und es scheitert. Aber so:

mysql_connect('sql.my_domain.nazwa.pl:3307', 'my_user', 'my_password');

funktioniert gut.

Jeder hat eine Ahnung, was mit PDO, seiner Konfiguration, den eingestellten Parametern oder vielleicht diesem speziellen Server (nazwa.pl) falsch sein kann?

[Gelöst] Ok, so das war einfach (aber auch knifflig zu bemerken ...) Syntaxfehler, sollte es a = anstelle von : in port Teil von dsn .


Wenn Sie versuchen, eine Verbindung zur Datenbank auf einem anderen Server herzustellen Stellen Sie sicher, dass Ihr Sql-Server Ihnen den Zugriff auf den jeweiligen Port in Ihrem Fall 3307 von der IP-Adresse der Orte aus ermöglicht, an denen Ihre Codes gehostet werden. Wenn beide Server identisch sind, versuchen Sie es mit localhost oder 127.0.0.1





pdo