我有 2 张桌子
学生
S_ID, LastName, FirstName, MiddleName
采取主题
S_ID, SubjectCode, Time
我在下面有一个代码,使用会话来显示谁从 takensubject 中获取主题,但它只显示 ID,我想要的是使用 ID 显示来自 takensubject 的学生的全名,下面的代码显示一些错误警告:mysqli_num_rows() 期望参数 1 mysqli_result,布尔值。谁能帮我纠正我的查询?
<?php
include'database.php';
$sescode = $_SESSION['sessioncode'];
$sestime = $_SESSION['sessiontime'];
$conn = mysqli_connect($server, $dbusername, $dbpassword, $database);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM takensubject tb2, student tb1 where tb2.S_ID=tb1.S_ID and SchoolYear ='$Sy' and Semester ='$Sem' and SubjectCode='$sescode' and Time='$sestime'";
$no = 0;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$no++;
echo"<td>$no ).</td> ";
echo"{$row['S_ID']}";
echo"{$row['LastName']}<br>";
}
} else {
echo "No Record Results";
}
mysqli_close($conn);
?>
它一直显示此警告:
mysqli_num_rows() 期望参数 1 mysqli_result,布尔值
我想您的查询返回FALSE
.尝试这样的事情。
SELECT tb1.*, tb2.*
FROM takensubject tb2
INNER JOIN student tb1
ON tb1.S_ID= tb2.S_ID
WHERE SchoolYear ='$Sy'
and Semester ='$Sem'
and SubjectCode='$sescode' and Time='$sestime';
我在您的任何表格中都没有看到"学年","学期"列..您还需要像 tb2 一样指定列名旁边的表。时间。还要回显您的查询并直接在phpmyadmin中尝试检查错误。希望对:)有所帮助尝试类似的东西
SELECT takensubject.*,student.* FROM takensubject INNER JOIN student ON takensubject.S_ID=student.S_ID where takensubject.SchoolYear ='$Sy' and takensubject.Semester ='$Sem' and takensubject.SubjectCode='$sescode' and takensubject.Time='$sestime'