duande8497 2018-01-21 18:41
浏览 832
已采纳

PHP Mysql数据库连接被拒绝

I am trying to display a simple table of one of the tables in my mySQL database, but am getting the below message when I load the page.

connection failed:Connection refused
Username    Password    PhysicianID

I have tested the credentials I use in my code over and over and am 100% sure that they are correct. I am unsure as to what could be causing this issue. Below is my php code:

<!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条回答 默认 最新

  • dongzun9958 2018-01-21 19:06
    关注

    Please make sure that the mysql server is bound to the expected IP which is assigned to the host value you are using in mysql_connect.

    • Find out IP: nslookup <host>
    • On the Host, check bind address of mysqlprocess: ps -eaf | grep mysql. (0.0.0.0/0 means bind on all IPs of the Host and is fine)

    If you get different IPs for both commands, that is the culprit. Esp. if the second one only returns 127.0.0.1. You need to adjust your mysql configuration to bind on the external IP address of the Host then.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?