0

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>
3
  • what is your host name ? Commented Jan 21, 2018 at 18:42
  • Have you tried searching for the same symptoms? here is a google search for you Commented Jan 21, 2018 at 19:59
  • 1
    'host' is usually 'localhost' or '127.0.0.1 Commented Jan 21, 2018 at 20:04

2 Answers 2

2

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.

Sign up to request clarification or add additional context in comments.

1 Comment

I was not even thinking, I was using the address of my server, not even realizing that is where the mysql was hosted, so just needed to switch the host of my server url to 'localhost'
1

It should work fine but in this line:

$conn = mysqli_connect('host', 'root', 'password', 'MySQLDatabase');

Check if your host name and password is correct. If you use localhost and your password is not defined it should be:

$conn = mysqli_connect('localhost', 'root', '', 'MySQLDatabase');

Also, check your HTML in php. You have two <td> tags on beggining and using this order of $row you will get password under PhysicianId in table.

Try this:

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";
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.