2012-05-14 4 views
0

大学の学生やインストラクターを支援するシンプルなウェブサイトを構築しています。講師は、教えているコースに登録している学生を取得します

私は次の質問に関する問題に直面しています: インストラクターは、教えるコースに登録している生徒のIDと名前を取得します。

私は自分のフィールドに続いて、次の表を、持っている:
登録(CourseCode - StudentID - グレード)
Studnet(ID - 名)

次の2つのテーブル間の唯一のコネクタがある見ることができるように学生証。

私が書いたコードは、私がやろうとしています何

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

?> 

おかげ

関連する問題