Ошибка Warning: Trying to access array offset on value of type null in C:\OpenServer\domains\UchProc\TEST.php on line 45
Больше недели пытаюсь вывести на веб-страницу в виде таблицы данные из таблицы PhpMyAdmin.
Наконец-то что-то заработало и на тебе. Браузер выдал ошибку
Warning: Trying to access array offset on value of type null in C:\OpenServer\domains\UchProc\TEST.php on line 45 И это выдает с 45 по 56 строку.
У меня стоит php версии 8.0, возможно из-за того, что в новых версиях опять что-то изменили, он выдает эту ошибку. Как исправить ?
Код :
<?php
$db_host='localhost'; // ваш хост
$db_name='uch_proc'; // ваша бд
$db_user='root'; // пользователь бд
$db_pass='root'; // пароль к бд
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);// включаем сообщения об ошибках
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // коннект с сервером бд
$mysqli->set_charset("utf8mb4"); // задаем кодировку
/*$connect = mysqli_connect($db_host, $db_name, $db_user, $db_pass);*/
$r=mysqli_query($mysqli, 'SELECT * FROM studenti')
or die(mysqli_error());
$result = $mysqli->query('SELECT * FROM `studenti`'); // запрос на выборку
while($row = $result->fetch_assoc())// получаем все строки в цикле по одной
$rows=mysqli_num_rows($r);
?>
<TABLE border=4 cellspasing=15 bgcolor="WHITE" ALIGN="center">
<COLGROUP span=12 width="150">
<CAPTION>
<FONT color="BLACK">
<H1>
Список студентов
</h1>
</FONT>
</caption>
<TR><TH bgcolor="INDIGO"><FONT color="white"> Табельный номер </FONT>
<TH bgcolor="INDIGO"><FONT color="white">Фамилия</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Имя</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Отчество</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Факультет</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Курс</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Группа</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Пол</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Дата рождения</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Рост</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Средний балл</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Доход</FONT>
<?php for ($i=0; $i<$rows; $i++) {?>
<TR ALIGN="center"><TD><?php echo $row[$i]["Tab_stud"]?> // Ошибка начиная с этой строки
<TD><?php echo $row[$i]["Fam_stud"]?>
<TD><?php echo $row[$i]["Name_stud"]?>
<TD><?php echo $row[$i]["Otch_stud"]?>
<TD><?php echo $row[$i]["Fakult"]?>
<TD><?php echo $row[$i]["Kurs"]?>
<TD><?php echo $row[$i]["Gruppa"]?>
<TD><?php echo $row[$i]["Pol"]?>
<TD><?php echo $row[$i]["Data_Roj"]?>
<TD><?php echo $row[$i]["Rost"]?>
<TD><?php echo $row[$i]["Sr_ball"]?>
<TD><?php echo $row[$i]["Doxod"]?> // Заканчивая на этой
<?php }?>
</table>
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
$result = $mysqli->query('SELECT * FROM `studenti`'); // запрос на выборку
$rows=mysqli_num_rows($r);
if(! $rows) {
// что делать, если нет нужных записей в базе
}
else {
?>
<TABLE border=4 cellspasing=15 bgcolor="WHITE" ALIGN="center">
<COLGROUP span=12 width="150">
<CAPTION>
<FONT color="BLACK">
<H1>
Список студентов
</h1>
</FONT>
</caption>
<TR><TH bgcolor="INDIGO"><FONT color="white"> Табельный номер </FONT>
<TH bgcolor="INDIGO"><FONT color="white">Фамилия</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Имя</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Отчество</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Факультет</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Курс</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Группа</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Пол</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Дата рождения</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Рост</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Средний балл</FONT>
<TH bgcolor="INDIGO"><FONT color="white">Доход</FONT>
<?php while($row = $result->fetch_assoc()) : ?>
<TR ALIGN="center"><TD><?php echo $row["Tab_stud"]?>
<TD><?php echo $row["Fam_stud"]?>
<TD><?php echo $row["Name_stud"]?>
<TD><?php echo $row["Otch_stud"]?>
<TD><?php echo $row["Fakult"]?>
<TD><?php echo $row["Kurs"]?>
<TD><?php echo $row["Gruppa"]?>
<TD><?php echo $row["Pol"]?>
<TD><?php echo $row["Data_Roj"]?>
<TD><?php echo $row["Rost"]?>
<TD><?php echo $row["Sr_ball"]?>
<TD><?php echo $row["Doxod"]?> // Заканчивая на этой
<?php endwhile; ?>
</table>
<?php } ?>