【问题标题】:PHP script cannot connect to MYSQL databasePHP脚本无法连接到MYSQL数据库
【发布时间】:2019-03-25 18:35:35
【问题描述】:

我有一个直接尝试连接 MySQL 数据库的脚本。

当我运行脚本时,我得到了错误:

警告:mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\ShopSite\submitReg.php on line 16 连接失败。

连接代码为:

$server="127.0.0.1";
$db="shop";
$user="root";
$password="";

$conn=mysqli_connect($server,$user,$password,$db) or die("Failed to connect");

我可以连接到 phpMyAdmin 并在那里编辑数据库就好了。我正在使用 XAMPP 并在本地运行它。

当我转到用户帐户时,它说没有 root 密码。我查看了配置文件,没有设置密码。我没有为任何东西设置密码。

我没有进入并摆弄设置,也没有创建任何新帐户。它工作得很好(从来没有遇到过这个问题),然后它就从这个开始了。我重新安装了 XAMPP,仍然给我这个问题。

我不明白为什么它说使用密码“是”。

我已经花了好几个小时试图修复它。我浏览了很多线程。不一定都适用于我,因为我在本地运行它,并且没有进入并创建新的用户帐户。一切都是默认的。

在重新安装之前,我尝试创建一个新用户帐户并为其授予必要的权限。我也给了它一个密码。没用。

我不明白它为什么会这样,而且我自己也没有足够的知识来修复它。非常感谢任何帮助,以便它可以返回连接。

【问题讨论】:

  • 它说“localhost”和“使用密码:YES”的事实让我觉得你没有看正确的代码块。
  • 您是否尝试过添加具有密码的用户并登录到数据库?我也会尝试直接使用像 heidisql 这样的 mysqli 客户端登录
  • @Devon,你是什么意思?
  • 如果您正在查看的代码块与错误相对应,它将显示“127.0.0.1”和“使用密码:否”。您确定您发布的代码是 C:\xampp\htdocs\ShopSite\submitReg.php 的第 16 行吗?
  • @GuyLouzon 我之前尝试过,但没有成功。这次试了一下,果然成功了。感谢您再次提出建议。不知道为什么它以前不喜欢它。

标签: php mysql


【解决方案1】:

改变

 $server="127.0.0.1"; 

由

$server="localhost";

【讨论】:

  • 验证服务器上的权限表(如果需要,重新加载授权)以及您正在连接到正确的服务器。
  • 试试这个:$con = mysqli_connect("localhost","root","","database_name")or die("Failed to connect");
【解决方案2】:

我使用 XAMPP 有一段时间了,它对我来说效果很好, 我认为你的mysql服务器的默认密码没有设置为'',所以我猜 如果您更改 root 密码并尝试使用新密码访问您的数据库,它应该可以工作。

更新根密码

要更新root 使用密码,您必须执行以下步骤:

  1. 打开 XAMPP 控制面板
  2. 点击 MySQL 按钮
  3. MySQL 控制台加载后,执行以下查询:

    为 'root'@'localhost' 设置密码 = PASSWORD('pass');`

之后,将$password变量更改为新密码
在这种情况下是pass

添加新用户

您还可以通过执行以下查询来添加新用户:

GRANT ALL PRIVILEGES ON *.* TO 'new-user'@'localhost' IDENTIFIED BY 'password';

虽然用户名是new-user,密码是password。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 2018-06-14
    • 2018-10-29
    • 2023-03-25
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多