#php #mysql
#php #mysql
Вопрос:
Я создал портал результатов учащихся. Он должен отображать имя и отметки учащегося, если номер списка и дата рождения совпадают с данными в базе данных. Успешно, он отображает сведения об отметке учащегося. Но при отображении имени учащегося отображается ошибка. Ниже приведена ошибка. что мне теперь делать?
Уведомление: попытка получить доступ к смещению массива по значению типа null в C:xampphtdocsresindex.php в строке 97
Имя:
php
<?php
include('header.php')
?>
<div class="container-fluid">
<div class="row">
<div class="col-md-12 jumbotron">
<h2 style="text-align: center;">
Sri Meenakshi Government College for Women
</h2>
</div>
</div>
</div>
<div class="student-info text-center">
<div class="container-fluid">
<div class="row">
<div class="col-md-12 jumbotron">
<form action="index.php" method="post">
<input type="text" name="sname" placeholder="Your Full Name" style="width: 240px;height: 35px;">
<input type="text" name="roll" placeholder="Your Register Number" style="width: 240px;height: 35px;">
<input type="text" name="birth" placeholder="mm/dd/yyyy" style="width: 240px;height: 35px;">
<input type="submit" name="show" value="Show Result" class="btn btn-success text-center" style="margin-left: -100px;" >
<center><button onclick="window.print()" class="btn">Save</button>
<style>
.btn{
width:250px;
float:right;
}
</style>
</form>
</div>
</div>
</div>
</div>
<table class="table table-striped table-bordered table-responsive text-center">
<tr >
<th class="text-center">Subject</th>
<th class="text-center">Internal Mark</th>
<th class="text-center">External Mark</th>
<th class="text-center">Total</th>
<th class="text-center">Result</th>
</tr>
<?php
include('dbcon.php');
if (isset($_POST['show'])) {
//echo "<center>"."Name:" .$_POST['sname']."<br>";
//echo "Register Number:" .$_POST['roll']."<br>";
$dateofbirth = $_POST['birth'];
$RollNo = $_POST['roll'];
$sql = "SELECT * FROM `student` WHERE `birth` = '$dateofbirth' AND `rollno`='$RollNo'";
$result = mysqli_query($conn,$sql);
if (mysqli_num_rows($result)>0) {
while ($DataRows = mysqli_fetch_assoc($result)) {
$Id = $DataRows['id'];
$RollNo = $DataRows['rollno'];
$Name = $DataRows['name'];
$sub = $DataRows['subject'];
$intm = $DataRows['intmark'];
$extmark = $DataRows['extmark'];
$tot = $DataRows['total'];
$res = $DataRows['result'];
?>
<tr>
<td><?php echo $sub; ?></td>
<td><?php echo $intm; ?></td>
<td><?php echo $extmark; ?></td>
<td><?php echo $tot; ?></td>
<td><?php echo $res; ?></td>
</tr>
<?php
}
} else {
echo "<tr><td colspan ='7' class='text-center'>No Record Found</td></tr>";
}
echo "name:".$DataRows['name']."<br>";
}
?>
Пожалуйста, помогите мне решить эту проблему.
Ответ №1:
Это связано с тем, что оператор if не выполняется, name не имеет в нем никакого значения, поэтому он смещает значение NULL