【问题标题】:Cannot connect to MySQL Database using the WAMP server无法使用 WAMP 服务器连接到 MySQL 数据库
【发布时间】:2020-08-02 21:47:39
【问题描述】:

我是编程新手,我完全陷入困境,所以我想我会向有经验的程序员寻求帮助。我在 WAMP 服务器上使用 phpMyadmin 创建了一个名为“books”的 SQL 数据库。数据库及其表在 phpMyadmin 和 MySQL 控制台上正确显示。我一直在尝试使用以下 PHP 代码连接到数据库:

    $hs = "localhost";
    $us = "heman";
    $ps = "password";
    $dbs = "books";

    $db = new mysqli($hs, $us, $ps, $dbs);

    if (mysqli_connect_error()) {
        echo "Error! Could not connect to the database." . $db->connect_error . $db->connect_errno;
    exit;
    }   else {echo "Connected to Server.";};

而且,这是我一直遇到的错误:

( ! ) 警告:mysqli::__construct(): (HY000/1045): 在 C:\wamp64\www\Bookorama\results 中用户 'heman'@'localhost' 的访问被拒绝(使用密码:YES)。第31行的php

错误!无法连接到数据库。用户 'heman'@'localhost' 的访问被拒绝(使用密码:YES)1045。

非常感谢您的帮助。 谢谢!

【问题讨论】:

    标签: wamp mysql-error-1045


    【解决方案1】:

    我发现了问题所在。我只记得把它放在这个论坛上,以防它帮助某人。专业人士可能会觉得这太愚蠢了。 所以问题是我的 WAMP 服务器有 2 个数据库,MySQL 和 MariaDB。而且,由于 MariaDB 使用的是 3306 端口,我的 PHP 代码试图使用 mysqli 命令访问 MariaDB。 这是解决方案:

    1. 右键单击屏幕右下角的 WAMP 图标。
    2. 转到“Wamp 设置”。
    3. 从“允许 MariaDB”中删除检查。
    4. 将MySQL的端口号更改为3306。(左键单击wamp图标->滚动到MySQL->单击my.ini->按“Ctr + f”并搜索“端口”->将端口号更改为3306文件中的 3 个位置 -> 保存文件。)
    5. 重新启动所有服务,然后就可以了......!

    【讨论】:

      【解决方案2】:

      有一个不需要停用 MariaDB 的解决方案,让您随时在两者中进行选择。只需右键单击 WAMP 图标,转到“工具”并单击“Invert default DBMS MariaDB MySQL”,应该可以工作。它会将 MySQL 设置为默认引擎,为您更改端口号并自行重新启动服务。如果您想切换回 MariaDB,只需按照相同的步骤操作即可。

      【讨论】: