0

大学の学生や講師を支援するシンプルなウェブサイトを構築しています。

次のクエリに関する問題に直面しています: インストラクターが、彼/彼女が教えるコースに登録されている学生の ID と名前を取得します。

次のテーブルがあり、その後にフィールドが続きます:
Enrollment (CourseCode - StudentID - Grade)
Studnet (ID - Name)

ご覧のとおり、2 つのテーブル間の唯一のコネクタは学生 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

問題の解決にご協力いただければ幸いです。

ありがとう

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 に答える