Когда я пытаюсь найти что-либо в поисковом блоке backlog, прежде чем я отправлю свои значения, вы получите 2 ошибки, которые выглядят следующим образом:
Предупреждение: mysqli_num_rows() ожидает, что параметр 1 будет mysqli_result, boolean задан в C:\xampp\htdocs\SOPHOMORE\coursereginfo.php в строке 53
Предупреждение: mysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, boolean задан в C:\xampp\htdocs\SOPHOMORE\coursereginfo.php в строке 54
<!doctype html>
<html>
<?php include'abcadmin.css' ?>
<body>
<br>
<br>
<br>
<br>
<h4><object align="right" width="190"><a href ="studentlogin.php" onclick="alert('You have logged out successfully!!;') <?php session_destroy(); ?>">Logout</a></object></h4>
<br>
<br>
<br>
<br>
<center><h1>Course Information</h1></center>
<form method="POST">
<center><h4>Backlog(Subject Code):</label> <input type="text" name="bl1"><br><br><br>
<center><input type="submit" value="Submit" name="submit" /> </center>
</form>
<?php
session_start();
global $un,$pw,$stuname,$stusurname,$stuemail,$cou,$backlog1,$backlog2,$backlog3,$backlog4,$backlog,$x;
$sapid=$_SESSION['adminstusapid'];
$con=mysqli_connect('localhost','root','') or die(mysqli_error());
mysqli_select_db($con,'sophomore') or die("cannot select DB");
$query=mysqli_query($con,"SELECT * FROM student_subjects WHERE SAPID='".$sapid."'");
$query1=mysqli_query($con,"SELECT * FROM student_registration WHERE sap_id='".$sapid."'" );
$numrows=mysqli_num_rows($query);
$numrows1=mysqli_num_rows($query1);
$sapidinfo=array();
if(isset($_POST["submit"])){
$search=$_POST['bl1'];
$query2=mysqli_query($con,"SELECT * FROM sbmp_subjects WHERE subject_code='".$search."'" );
$numrows2=mysqli_num_rows($query2);
while($row2 = mysqli_fetch_array($query2))
{
$backlog=$row2['subject'];
}
$query3=mysqli_query($con,"SELECT * FROM student_subjects WHERE (Subject1='".$backlog."' OR Subject2='".$backlog."' OR Subject3='".$backlog."' OR Subject4='".$backlog."' OR Subject5='".$backlog."' OR Subject6='".$backlog."' OR Subject7='".$backlog."'" );
$numrows3=mysqli_num_rows($query3);
while($row3 = mysqli_fetch_array($query3))
{
$sapidinfo[]=$row3;
}
echo '<table class="a" align="center" border="1">';
echo '<tr>';
echo '<td>';
echo '<h4>';
echo "SAP ID";
echo '</h4>';
echo '</td>';
echo '</tr>';
echo '</table>';
echo "<br>";
for($x=0; $x<$numrows3; $x++)
{
echo '<table class="e" align="center" border="1">';
echo '<tr>';
echo '<td>';
echo '<h4>';
echo $sapid[$x];
echo '</h4>';
echo '</td>';
echo '</tr>';
echo "<br>";
}
}
?>
</body>
</html>
Я думаю, что вы запросили ошибку. От php.net:
Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для других успешных запросов mysqli_query() вернет TRUE.
Вы должны проверить код выхода перед применением mysqli_num_rows и mysqli_fetch_array. Также из php.net:
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")){
$row_cnt = mysqli_num_rows($result);
printf("El resultado tiene %d filas.\n", $row_cnt);
mysqli_free_result($result);}