0

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

我面临以下查询的问题:讲师检索在他/她教授的课程中注册的学生的 ID 和姓名。

我有以下表格,后跟它们的字段:
注册(课程代码 - StudentID - 年级)
Studnet(ID - 姓名)

如您所见,两个表之间的唯一连接器是学生 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>"; 
?>

我要做的是从 Enrollment 表中检索课程代码,然后通过 ID 检索学生姓名。

问题是我收到以下消息:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

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

谢谢

4

3 回答 3

0

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

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

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

于 2012-05-14T00:39:37.817 回答
0

您是否尝试缩小导致问题的查询范围?那将是你的第一步。其他一些指针:

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

  2. 尝试使用:mysql_query ($your_query) or die ('Error: '.mysql_error ());为每个查询获取更详细的错误消息。(仅用于调试,不适用于生产)

于 2012-05-14T01:13:56.107 回答
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);

?>

谢谢

于 2012-05-14T23:29:49.163 回答