教师检索在他/她教授的课程中注册的学生

时间:2012-05-14 00:36:05

标签: php mysql

我正在建立一个简单的网站,帮助大学的学生和教师。

我遇到有关以下查询的问题: 教师检索学生在他/她教授的课程中注册的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

我希望你能帮我解决问题。

由于

3 个答案:

答案 0 :(得分:0)

该错误通常意味着您的查询出现问题,或者您可能未连接到数据库。如果是第一个问题,请尝试将查询更改为:

$result11 = mysql_query("SELECT * FROM `Enrollment` WHERE `CourseCode` = '$COCODE' ");

否则,请检查数据库连接。

答案 1 :(得分:0)

您是否尝试缩小哪些查询导致问题?那将是你迈出的第一步。其他一些指示:

  1. 您需要检查每个SQL查询是否成功并返回有效值,然后在下一个查询中使用它...否则该查询将导致错误。

  2. 尝试对每个查询使用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);

?>

由于