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

标签 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";
$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) 可能有什么问题吗?

[已解决] 好的,这很简单(但也很难注意到......)语法错误,它应该是 = 而不是 : in 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";

关于PHP PDO 连接到 MySQL 失败,mysql_connect 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11795198/

相关文章:

mysql - 同时使用 Order by 和 Group By 可以消除一些记录

php - 循环时 PDO 绑定(bind)参数重复

php - mysql PDO多参数插入语句

php - 将数据插入 SQL 数据库不起作用,但说它已经起作用

php - 带有 JSON 正文的 HTTP GET 请求是否有大小限制?

php - 为特定日期和时间创建随机分钟 cron 作业

php - mysql使用主键选择最后一个重复记录

php - 查询包含多个字段的字段

php - 如何使用从 MySQL 检索的数据通过 .click jQuery 函数检索 html 元素值?

php - 如何使用我的应用程序请求发布这样的流?