PHP Mysql数据库连接被拒绝

时间:2018-01-21 18:41:57

标签: php mysql

我正在尝试在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>

2 个答案:

答案 0 :(得分:2)

请确保mysql服务器绑定到预期的IP,该IP分配给您在host中使用的mysql_connect值。

  • 找出IP: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";
    }