Уведомление: попытка получить доступ к смещению массива по значению типа null в C:xampphtdocsresindex.php в строке 97 имя:

#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