【问题标题】:I can't achieve a PDO connection to mysql db我无法实现与 mysql db 的 PDO 连接
【发布时间】:2020-03-29 14:45:23
【问题描述】:

尝试从 php 脚本连接时,我不断收到“SQLSTATE[HY000] [2002] 连接被拒绝”。

我可以通过以下方式连接到 mysql:/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

设置是: Mamp Pro 版本:5.5.1 PHP版本:7.3.8 MySql 版本:5.7.26 检查运行状况报告:MySQL 正在运行并接受连接。 连接未使用加密。

这是脚本:

<?php
$dsn = "mysql:host=127.0.0.1;dbname=myDatabase;charset=utf8mb4";
try {
  $pdo = new PDO($dsn, "root", "root");
} catch (Exception $e) {
  error_log($e->getMessage());
  exit('Something weird happened'); //something a user can understand
}

如果我在 $dsn 中使用 localhost 而不是 127.0.0.1,我会得到:SQLSTATE[HY000] [2002] No such file or directory

任何想法将不胜感激。

【问题讨论】:

  • 你检查服务是否正在运行?
  • 我可以使用mysql命令行连接:Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot
  • 尝试输入命令use myDatabase;。还要检查该数据库的用户 root 的授权。你应该检查系统 abd php 错误
  • @nbk 您对“使用 myDatabase”的建议让我意识到我剪切/粘贴了错误的示例。更正数据库名称解决了这个问题。谢谢你的主意。如果你想把它变成一个答案,我会把它归功于你。再次感谢。

标签: php mysql pdo


【解决方案1】:

我认为您的数据库名称有误。

所以尝试输入mysql命令use myDatabase;。还要检查该数据库的用户 root 的授权。您还应该检查系统和 php 错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2013-05-22
    • 2022-01-18
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多