我面临着非常奇怪的问题。
mysql_query
返回true而不是SELECT的资源ID。
$query = "SELECT s.id, s.lesson_code, l.lesson_name, t.teacher_name
FROM student_comment s
LEFT JOIN classes l
ON s.lesson_code = l.lesson_code
LEFT JOIN teacher t
ON s.teacher_id = t.id
WHERE s.school_id = '" .$_GET['school_id']. "'
ORDER BY s.id DESC";
然而;当我在phpMyAdmin中执行此查询时,它给出了确切的结果。 但是同样的查询在PHP页面中给出了以下错误。
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\web\htdocs\test\home\question.php on line 33
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\web\htdocs\test\home\question.php on line 35
答案 0 :(得分:0)
$query = "SELECT s.id, s.lesson_code, l.lesson_name, t.teacher_name
FROM student_comment s
LEFT JOIN classes l
ON s.lesson_code = l.lesson_code
LEFT JOIN teacher t
ON s.teacher_id = t.id
WHERE s.school_id = '" .$_GET['school_id']. "'
ORDER BY s.id DESC";
$exe = mysql_query($query) or die(mysql_error());
while($fetch = mysql_fetch_array($exe))
{
echo '<pre>'; print_r($fetch);
}
答案 1 :(得分:0)
查询将返回false
而不是true
(布尔值)。
http://in1.php.net/mysqli_query
失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。
在大多数情况下,如果查询格式不正确,您的参数$ _GET ['school_id']可能会出错。
使用mysqli
代替mysql
,但使用与Parag答案中类似的逻辑。