我无法实现与 mysql db 的 PDO 连接
Posted
技术标签:
【中文标题】我无法实现与 mysql db 的 PDO 连接【英文标题】:I can't achieve a PDO connection to mysql db 【发布时间】: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”的建议让我意识到我剪切/粘贴了错误的示例。更正数据库名称解决了这个问题。谢谢你的主意。如果你想把它变成一个答案,我会把它归功于你。再次感谢。 【参考方案1】:我认为您的数据库名称有误。
所以尝试输入mysql命令use myDatabase;。还要检查该数据库的用户 root 的授权。您还应该检查系统和 php 错误
【讨论】:
以上是关于我无法实现与 mysql db 的 PDO 连接的主要内容,如果未能解决你的问题,请参考以下文章