我正在建立一个简单的网站,帮助大学的学生和教师。
我遇到有关以下查询的问题: 教师检索学生在他/她教授的课程中注册的ID和姓名。
我有以下表格,后面是他们的字段:
报名(CourseCode - StudentID - Grade)
Studnet(身份证 - 姓名)
正如您所看到的,两个表之间唯一的连接符是学生ID。
我写的代码是
<?
session_start();
$COCODE = $_SESSION['GlobalCode'];
$result11 = mysql_query("SELECT * FROM Enrollment WHERE CourseCode = '$COCODE' ") ;
$row11 = mysql_fetch_array($result11);
$StID = $row11['StudentID'];
$result22 = mysql_query("SELECT * FROM Student where StudentID= '$StID' ") ;
echo "<table border cellpadding=3>";
while($row123 = mysql_fetch_array($result22))
{
echo "<tr>";
echo "<td>".$row123['ID']."</td> ";
echo "<td>".$row123['Name']."</td> ";
echo "</tr>";
}
echo "</table>";
?>
我要做的是从注册表中检索课程代码,然后通过ID检索学生姓名。
问题是我收到以下消息:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
我希望你能帮我解决问题。
由于
答案 0 :(得分:0)
该错误通常意味着您的查询出现问题,或者您可能未连接到数据库。如果是第一个问题,请尝试将查询更改为:
$result11 = mysql_query("SELECT * FROM `Enrollment` WHERE `CourseCode` = '$COCODE' ");
否则,请检查数据库连接。
答案 1 :(得分:0)
您是否尝试缩小哪些查询导致问题?那将是你迈出的第一步。其他一些指示:
您需要检查每个SQL查询是否成功并返回有效值,然后在下一个查询中使用它...否则该查询将导致错误。
尝试对每个查询使用mysql_query ($your_query) or die ('Error: '.mysql_error ());
以获取更详细的错误消息。 (仅用于调试,不用于生产)
答案 2 :(得分:0)
最后,我解决了它。
我做了以下更改:
$result11 = mysql_query("SELECT * FROM Enrollment WHERE CourseCode = '$InstID' ") or die ('Error: '.mysql_error ());
echo "<table border cellpadding=3>";
while($row11 = mysql_fetch_array($result11))
{
$StID = $row11['StudentID'];
$result22 = mysql_query("SELECT * FROM Students where ID = '$StID' ") or die ('Error: '.mysql_error ());
while($row123 = mysql_fetch_array($result22))
{
echo "<tr>";
echo "<td>".$row123['ID']."</td> ";
echo "<td>".$row123['Name']."</td> ";
echo "</tr>";
}
}
echo "</table>";
mysql_close($con);
?>
由于