PHP查询获取记录从表2至表1
我有2个表PHP查询获取记录从表2至表1
学生
S_ID, LastName, FirstName, MiddleName
takensubject
S_ID, SubjectCode, Time
我有以下使用会话显示谁码把主题从takensubject但它只显示ID我想要的是显示一个st的全名使用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,布尔
我没有看到列学年,在你的任何一个表中的学期..还需要在列名旁边指定表,如tb2.Time。同时回显您的查询并直接在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'
我猜你的查询返回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';
我反对如何解决这个问题(mysqli_num_rows($ result)> 0)它显示警告 – Acy
尝试到var_dump($ result),检查输出。 –
参考http://php.net/manual/en/mysqli.error.php期间'mysqli_query()'调用,即检查错误查询 – Saty
检查是否存在错误将其更改为'mysqli_query($ conn,$ sql)或死(mysqli_error($ conn));' – mitkosoft