2012-05-14 44 views
0

我正在構建一個簡單的網站,幫助大學的學生和教師。教師檢索在他/她教的課程中註冊的學生

我面臨着一個關於以下查詢的問題: 教師檢索他/她所教的課程中註冊的學生ID和姓名。

我有以下表格,其次是他們的領域:
招生(CourseCode - StudentID - 級)
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 

我希望你能幫助我解決問題。

感謝

+1

要小心,你不打開自己的SQL注入的問題。學習使用PDO執行準備好的查詢以完全避免此問題。 – Brad

回答

0

您是否試圖縮小哪些查詢導致問題?那將是你的第一步。其他一些指針:

  1. 你需要檢查每一個SQL查詢是否成功,並在接下來的查詢使用它之前返回一個有效值...否則,該查詢會導致錯誤。

  2. 嘗試使用:mysql_query ($your_query) or die ('Error: '.mysql_error());爲每個查詢更詳細的錯誤消息。 (僅用於調試,不用於生產)

0

這錯誤通常意味着有什麼東西不對您的查詢,或者你沒有連接到你的數據庫。如果它的第一個問題,請嘗試將您的查詢更改爲:

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

否則,檢查您的數據庫連接。

+0

連接是好的,我改變了查詢,問題仍然是一樣的。 – Nasser

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); 

?> 

感謝

相關問題