Javascript PHP连接到错误的主机(未捕获的PDOException:SQLSTATE[HY000][1045]拒绝用户访问';&';&¬.17.0.1';(使用密码:否))
我目前正在编写一个小网站,用户可以在其中编写和编辑数据库,我正忙于使用Php连接到我的MySQL数据库。 然后,Php文件的信息在JavaScript的帮助下转换为JSON。我没有使用任何库,而是使用Xampp创建本地服务器环境 现在,当我尝试连接到Php文件时,控制台中会显示以下消息: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
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->__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();