Php I';我无法显示mysql数据库中的数据,相反,它告诉我访问被拒绝

Php I';我无法显示mysql数据库中的数据,相反,它告诉我访问被拒绝,php,mysql,database,Php,Mysql,Database,我希望显示来自的数据库中的数据,而不是以html格式显示数据,它告诉我“连接失败:拒绝用户“”@'localhost的访问”(使用密码:否) 我曾尝试在网上搜索这个问题,当其他人遇到同样的问题时,他们要么有“root”@“localhost”要么有“user”@“localhost”。但在我的例子中,它甚至没有显示任何类型的用户名,它是空白的 <?php $servername = "localhost"; $username = "john"; $password = "johndoe

我希望显示来自的数据库中的数据,而不是以html格式显示数据,它告诉我“连接失败:拒绝用户“”@'localhost的访问”(使用密码:否)

我曾尝试在网上搜索这个问题,当其他人遇到同样的问题时,他们要么有“root”@“localhost”要么有“user”@“localhost”。但在我的例子中,它甚至没有显示任何类型的用户名,它是空白的

<?php

$servername = "localhost";
$username = "john";
$password = "johndoe";
$dbname = "login";

// Create connection
$conn = new mysqli($localhost, $john, $johndoe, $login);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT firstname, lastname FROM cards";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"] . "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();


?>

您在哪里声明了这些变量

$conn=newmysqli($localhost、$john、$johndoe、$login)

在您的代码中,真正的变量名是:
$servername、$username、$password、$dbname
,您应该使用这些变量来检索它们的值,即“localhost”、“john”、“johndoe”和“login”

尝试:


$conn=newmysqli($servername,$username,$password,$dbname);
$johndoe,$login
!=
$username,$password,$dbname
$dbname
必须具有相同的值谢谢,它很有效!我现在感觉自己很笨。