Как решить проблему: "localhost в настоящее время не может обработать этот запрос. HTTP ERROR 500" - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть скрипт PHP, который подключается к базе данных, настроенной с помощью MAMP.

Однако, похоже, он не может подключиться к базе данных.Каждый раз, когда я пытался, это заканчивалось сообщением:

Эта страница не работает. Localhost в настоящее время не может обработать этот запрос.ОШИБКА HTTP 500

<?php 

        $host = "localhost:8889";
        $dbusername = "root";
        $dbpassword = "root";
        $dbname = "HMSDb"; 

        //Create connection
        $conn = new mysqli_connect($host, $dbusername, $dbpassword, $dbname);

        $sql = "SELECT * FROM login;";
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);

        if ($resultCheck > 0) {
            while ($rows = mysqli_fetch_assoc($result)) {
                echo $row['username'] . "<br>";
        } else {
                echo "Fail";
        }

?>

Ответы [ 3 ]

0 голосов
/ 05 февраля 2019
Код

HTTP 500 означает ошибку сервера.Как сказал Тим, проверьте журналы вашего сервера.

Кстати, вы должны исправить свое утверждение if, добавив отсутствующий фигурный скобок {:

if ($resultCheck > 0) {
    while ($rows = mysqli_fetch_assoc($result)) {
        echo $row['username'] . "<br>";
    }
} // <- missing curly bracket
else {
    echo "Fail";
}
0 голосов
/ 07 августа 2019

Ваш код будет работать.Если это переписать как

     $host = "localhost";
        $dbusername = "root"; // username
        $dbpassword = "password"; // your password
        $dbname = "test";  // dbname

        //Create connection
        $conn = new mysqli($host, $dbusername, $dbpassword, $dbname);

        $sql = "SELECT * FROM fruit";
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);
        echo "<ul>";
        if ($resultCheck > 0) {
            while ($rows = mysqli_fetch_assoc($result)) {
                //echo $row['username'] . "<br>";
                echo "<li> A ".$rows["name"]." is ".$rows["color"]. "</li>";

        }
        } else {
                echo "Fail";
        }
    echo "</ul>";

, я проверяю код с моей таблицей.Пожалуйста, внесите соответствующие изменения в ваш код ..

Всего наилучшего

Anes

0 голосов
/ 05 февраля 2019

Лучше всего начать с проверки журналов вашего сервера.

Их расположение зависит от того, какая у вас система и как вы установили свой веб-сервер.Google должен помочь найти их, error_log - это то, что вы ищете.

Но эта конкретная проблема может быть вызвана вашим $host, включая порт.Если вам нужно указать порт не по умолчанию, добавьте его согласно документации в качестве дополнительного аргумента для mysqli_connect() после $dbname.

Редактировать:

После живого теста мой error_log указывает, что причиной является использование ключевого слова new.Удалите его из:

$conn = new mysqli_connect($host, $dbusername, $dbpassword, $dbname);

или используйте вместо него mysqli();.mysqli_connect() является функцией, а не классом, и поэтому ее нельзя создать с помощью ключевого слова new.

Ошибка: Uncaught Error: Class 'mysqli_connect' not found in /index.php

Конечно, исправьте отсутствующую скобкутоже, как упоминал Амессихель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...