【发布时间】:2018-05-19 21:59:08
【问题描述】:
我知道已经有很多线程在问这个问题,但我已经在这个问题上待了几个小时,而且不知所措。我正在尝试使用以下 PHP 连接到我在 MacBook 上运行的 MySQL 数据库:
<?php
DEFINE('DB_USER', 'webuser');
DEFINE('DB_PASSWORD', 'thispassword');
DEFINE('DB_HOST', '127.0.0.1:3306');
DEFINE('DB_NAME', 'learning_accounts');
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('Error connecting: ' .
mysqli_connect_error()
);
?>
返回以下错误:
Error connecting: Access denied for user 'webuser'@'localhost' (using password: YES)
我可以通过终端正常连接,即使尝试使用 PHP 和 root 连接也不起作用。我是 PHP 和 MySQL 的新手,所以任何指导和见解都将不胜感激!
我尝试了很多解决方案,例如授予权限、刷新权限、创建新用户、使用 PDO,但没有任何效果 - 请帮助!
非常感谢,我讨厌学习新语言,因为一开始调试时我会迷路!
更新
我为我的 root 帐户设置了密码,但是将 DB_PASSWORD 变量更改为 '' 会将错误更改为:连接错误:未知数据库 'learning_accounts'
更新 2 我已经解决了这个问题,检查我的答案,看看如何,如果你有这个问题,那么我希望你能很快找到这个线程!
- 扎克·L
【问题讨论】:
-
错误显示您正在尝试连接到
localhost;您的代码显示您正在连接到127.0.0.1:3306。它是哪一个?对于 MySQL,这些是不同的。首先,摆脱3306,它应该没有必要。接下来,尝试从localhost和127.0.0.1添加webuser的访问权限。