Javascript PHP连接到错误的主机(未捕获的PDOException:SQLSTATE[HY000][1045]拒绝用户访问';&';&¬.17.0.1';(使用密码:否))

Javascript PHP连接到错误的主机(未捕获的PDOException:SQLSTATE[HY000][1045]拒绝用户访问';&';&¬.17.0.1';(使用密码:否)),javascript,php,mysql,database,Javascript,Php,Mysql,Database,我目前正在编写一个小网站,用户可以在其中编写和编辑数据库,我正忙于使用Php连接到我的MySQL数据库。 然后,Php文件的信息在JavaScript的帮助下转换为JSON。我没有使用任何库,而是使用Xampp创建本地服务器环境 现在,当我尝试连接到Php文件时,控制台中会显示以下消息: Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

我目前正在编写一个小网站,用户可以在其中编写和编辑数据库,我正忙于使用Php连接到我的MySQL数据库。 然后,Php文件的信息在JavaScript的帮助下转换为JSON。我没有使用任何库,而是使用Xampp创建本地服务器环境

现在,当我尝试连接到Php文件时,控制台中会显示以下消息:

Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
当我查看Php文件的响应时,会收到以下错误消息:

<br />
<b>Fatal error</b>:  Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user ''@'172.17.0.1' (using password: NO) in /opt/lampp/htdocs/Alben/data/interpret.php:5
Stack trace:
#0 /opt/lampp/htdocs/Alben/data/interpret.php(5): PDO-&gt;__construct('mysql:host=192....')
#1 {main}
  thrown in <b>/opt/lampp/htdocs/Alben/data/interpret.php</b> on line <b>5</b><br />

致命错误:未捕获PDOException:SQLSTATE[HY000][1045]在/opt/lampp/htdocs/Alben/data/exploration.php:5中拒绝用户“@'172.17.0.1”(使用密码:否)的访问 堆栈跟踪: #0/opt/lampp/htdocs/Alben/data/exploration.php(5):PDO-_构造('mysql:host=192…) #1{main} 在第5行的/opt/lampp/htdocs/Alben/data/exploration.php中抛出
我没有使用IP“172.17.0.1”,它也没有出现在代码中的任何地方。我不知道那个主持人来自哪里。我已经查找过是否有其他人有同样的问题,但我在快速搜索中找不到任何类似的问题

我相信我的后端有问题。我用来转换Php文件的JS文件似乎没有任何可能导致问题的错误。不过,为了清晰起见,我也将添加JS代码。我还可以连接到IDE(PhpStorm)中的数据库

下面是album.php的代码:

<?php
class Database
{
    private $host='192.168.100.55';
    private $port='8080';
    private $db_name='Alben';
    private $username='root';
    private $password='passwort';
    private $conn;

    public function connect()
    {
        $this->conn = null;
        try {
            $this->conn = new PDO(
                'mysql:host=' . $this->host . ';port=' . $this->port . ';dbname=' . $this->db_name,
                $this->username,
                $this->password
            );
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            echo 'Connection Error: ' . $e->getMessage();
        }
        return $this->conn;
    }
}

$database = new Database();
$db = $database->connect();

172.17.0.1
是连接服务器(脚本)的IP,而不是mysql服务器。检查数据库中的用户/主机权限,以确保user@172.17.0.1请允许我谢谢你的回复,艾恩伯。明天我将尝试这个解决方案。之后我会告诉你它是否有效。
function ladeAlben() {
    fetch('data/album.php')
    .then((response) => {

        if (response.ok) {
            return response.json();
        } else {
            console.log("Request failed");
        }
    })
    .then((data) => {
        //HTML Erzeugen
        var html = "";
        for (var i = 0; i < data.length; i++) {
            html += '<tr><td>' + data[i].Alben_ID + '</td><td>' +
                data[i].Interpret + '</td><td>' + data[i].Name + '</td><td>' + data[i].Jahr + '</td><td>' + data[i].Medium + '</td><td>' + data[i].Genre + '</td><td>' +
                '</td><td>löschen</td><td>editieren</td>' + '</tr>';
        }

        var elem = document.getElementById("tableData");
        elem.innerHTML = HTML;
    })
}

ladeAlben();