1
SELECT Batch.NumStud 
FROM Batch 
WHERE CourseID='$courseid'
INNER JOIN Course 
ON Batch.CourseID=Course.CourseID"

一个错误说 mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>F:\AppServ\www\anNoECourse.php

显示。编写此代码是为了将数据输入谷歌图表。

4

2 回答 2

7

您以错误的顺序放置 SQL (JOIN 和 WHERE 已切换):

  SELECT Batch.NumStud 
    FROM Batch INNER JOIN Course 
           ON Batch.CourseID = Course.CourseID
   WHERE Course.CourseID = '$courseid'

看来,您的查询可以简化(检查您的数据):

  select Batch.NumStud 
    from Batch
   where Batch.CourseID = '$courseid'
于 2013-08-22T14:09:10.247 回答
0

我认为这个错误有点复杂。由于您的 SQL 无效,因此您没有得到结果集。您的 PHP 代码没有正确处理这种情况!

因此,除了按照其他人的建议更正您的 SQL 之外,请确保在您的 PHP 代码中正确处理没有结果或查询导致错误的情况!

您的解决方案的第二部分如下:

$result = mysql_query(...);
if ($result)
{
    while (...)
        ...
}

这确保mysql_query实际返回了一个结果集而不是false,它会在出现错误的情况下执行此操作(由于您的 SQL 代码无效,但在其他情况下也是如此)。因此,仅仅修复您的 SQL 不足以使您的脚本防错。

但同样,不要再使用这些mysql_....功能!它们已被弃用。

于 2013-08-22T14:24:11.383 回答