Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP PDO到MySQL的连接失败,MySQL_connect工作正常_Php_Mysql_Pdo - Fatal编程技术网

PHP PDO到MySQL的连接失败,MySQL_connect工作正常

PHP PDO到MySQL的连接失败,MySQL_connect工作正常,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用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"; $p

我正在尝试使用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)有什么问题吗

[已解决]好,这是一个简单的语法错误(但也很难注意到…),它应该是
=
而不是
端口中
dsn的一部分

尝试替换:

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


如果您试图连接到其他服务器上的数据库,请确保Sql server允许您从代码所在地的IP地址访问案例3307中的特定端口。
如果这两台服务器是相同的,请尝试使用localhost或127.0.0.1

@PeeHaa格式化?我总是在与Apache相同的PC上使用PDO,但我发现的文档暗示了上面的语法。这很尴尬。。。我没有注意到,在“端口”之后应该保持“=”不“:”。现在它起作用了。非常感谢你,这是正确的答案。@Fluffeh如果你指的是“好运”,那么应该是“Powodzenia”:@zelazowy-hehe,是的,一点也不会拼写,但会读奥卡语。祝你好运:)@Fluffeh-Aha现在我明白了区别:-)
$dsn = "mysql:host=sql.my_domain.nazwa.pl;dbname=my_db; port=3307";