Код работает, но загружается «Превышено максимальное время выполнения 30 секунд» вместе с ошибкой. - PullRequest
1 голос
/ 29 сентября 2019

Выводит данные из базы данных вместе с вышеуказанной ошибкой: «Превышено максимальное время выполнения 30 секунд» в строке 7.

<?php
require_once 'config.php';//content below
$sql = "select *from users";
$selected = $mysqli->query($sql);
$row = "random";
while($row!=="null"){
    $row = $selected->fetch_assoc();
    echo $row['username']; 
}

В config.php:

<?php
DEFINE('DB_server','localhost');
DEFINE('DB_username','root');
DEFINE('DB_password','');
DEFINE('DB_name','demo');
$mysqli = new mysqli(DB_server,DB_username,DB_password,DB_name);
if($mysqli===NULL){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
?>

Ответы [ 2 ]

1 голос
/ 02 октября 2019

Вы создаете бесконечный цикл. $row никогда не будет равно строке "null", потому что $row - это массив или строка "random".

Две вещи. Во-первых, вы должны включить отчеты об ошибках для MySQLi . Он всегда должен быть включен. Используйте mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); перед new mysqli.

<?php
DEFINE('DB_server','localhost');
DEFINE('DB_username','root');
DEFINE('DB_password','');
DEFINE('DB_name','demo');

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli(DB_server,DB_username,DB_password,DB_name);
?>

Во-вторых, когда вы хотите зациклить результаты вашего запроса, вы можете просто использовать foreach.

<?php
require_once 'config.php';//content below
$sql = "select *from users";
$selected = $mysqli->query($sql);
foreach($selected as $row) {
    echo $row['username']; 
}
0 голосов
/ 29 сентября 2019

Из документации для fetch_assoc (https://www.php.net/manual/en/mysqli-result.fetch-assoc.php),

[...]

while ($row = $result->fetch_assoc()) {
    printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

[...]

Вот как вы должны вызывать его в цикле.

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