我正在尝试在mySQL数据库中显示其中一个表的简单表,但在加载页面时收到以下消息。
connection failed:Connection refused
Username Password PhysicianID
我已经一遍又一遍地测试了我在代码中使用的凭据,并且100%确定它们是正确的。我不确定可能导致这个问题的原因。下面是我的PHP代码:
<!DOCTYPE html>
<head>
<TITLE>Table That will NOT load</TITLE>
</head>
<body>
<table>
<tr>
<th>Username</th>
<th>Password</th>
<th>PhysicianId</th>
</tr>
<?php
$conn = mysqli_connect('host', 'root', 'password', 'MySQLDatabase');
if(!$conn) {
die("connection failed:" . mysqli_connect_error());
}
$sql = "Select * from Users";
$result = $conn-> query($sql);
if($result -> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
echo "<td><td>". $row["username"] ."</td><td>". $row["username"] ."</td><td>". $row[
"password"] ."</td><tr>";
}
echo "</table>";
}
else {
echo "0 result";
}
$conn-> close();
?>
</table>
</body>
</html>
答案 0 :(得分:2)
请确保mysql服务器绑定到预期的IP,该IP分配给您在host
中使用的mysql_connect
值。
nslookup <host>
mysql
进程的绑定地址:ps -eaf | grep mysql
。 (0.0.0.0/0表示绑定主机的所有IP并且没问题)如果你为这两个命令获得不同的IP,那就是罪魁祸首。 ESP。如果第二个只返回127.0.0.1。您需要调整您的mysql配置以绑定到主机的外部IP地址。
答案 1 :(得分:1)
它应该可以正常工作但是在这一行:
$conn = mysqli_connect('host', 'root', 'password', 'MySQLDatabase');
检查您的主机名和密码是否正确。如果您使用localhost并且未定义您的密码,则应该是:
$conn = mysqli_connect('localhost', 'root', '', 'MySQLDatabase');
另外,在php中检查你的HTML。您在初始化时有两个<td>
代码,并且使用此$row
的顺序,您将在表格中的PhysicianId下获得密码。
试试这个:
if($result -> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
echo "<tr><td>". $row["username"] ."</td><td>". $row["password"] ."</td><td>". $row[
"id"] ."</td></tr>";
}
echo "</table>";
}
else {
echo "0 result";
}