我有一个 HTML 表单,我正在使用 PHP 将结果发送到 phpMyAdmin 上的一个 sql 数据库,但在提交后我收到“用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)”错误。
这都是使用 MAMP 在本地托管的,root@localhost 是唯一的用户,我确定我有正确的密码。
我查看了类似的问题,刷新了权限,创建了新用户,尝试通过命令行登录(我得到了同样的错误)但似乎没有任何效果。
这是我的代码:
$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "quotetool";
$conn = new mysqli($hostname, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO customerdetails (workstations, servers, firewalls, name, email, phone, support)
VALUES ('$workstations', '$servers', '$firewalls', '$name', '$email', '$phone', '$support')";
if ($conn->query($sql) === TRUE) {
echo "New record created";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
如果这有帮助,这是我的用户
最佳答案
尝试这段代码可能是因为 MySql 期望 Mamp 使用端口 3306。
$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "quotetool";
$port = "8889";
$conn = new mysqli($hostname, $username, $password, $dbname, $port);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO customerdetails (workstations, servers, firewalls, name, email, phone, support)
VALUES ('$workstations', '$servers', '$firewalls', '$name', '$email', '$phone', '$support')";
if ($conn->query($sql) === TRUE) {
echo "New record created";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
正确的语法
mysqli_connect(host,username,password,dbname,port,socket);
如果有任何问题请告诉我,我会尝试解决。
关于php - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES) using MAMP server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46541614/