Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql\u查询返回true而不是Resource_Php_Mysql - Fatal编程技术网

Php mysql\u查询返回true而不是Resource

Php mysql\u查询返回true而不是Resource,php,mysql,Php,Mysql,我面临着非常奇怪的问题。 mysql\u 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 JOI

我面临着非常奇怪的问题。
mysql\u 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
$query=“选择s.id、s.lesson\u代码、l.lesson\u名称、t.teacher\u名称
来自学生的评论
左连接类l
关于s.lesson_代码=l.lesson_代码
左接t老师
关于s.teacher_id=t.id
其中s.school\u id='“$\u获得['school\u id']。"' 
由s.id DESC订购”;
$exe=mysql\u query($query)或die(mysql\u error());
而($fetch=mysql\u fetch\u数组($exe))
{
回显“”;打印($fetch);
}

查询将返回
false
而不是
true
(布尔值)

失败时返回FALSE。为了成功地选择、显示、描述或解释查询,mysqli_query()将返回一个mysqli_结果对象。对于其他成功的查询,mysqli_query()将返回TRUE

如果查询的格式没有错误,那么您的参数$\u GET['school\u id']很可能是错误的


使用
mysqli
而不是
mysql
,但逻辑与Parag的答案类似。

添加完整的代码!!您的查询失败。您需要检查mysql_error()以找出原因。仅供参考,您非常容易受到危险:您正在使用并且应该使用。你也很容易受到一个现代API的影响,它会让你更容易从中受益。如果它返回
true
,我会非常惊讶,它更可能返回
false
,首先我要感谢每一个回答的人。我在这个问题上使用了$GET,通常这里有myqyl\u real\u escape\u string方法。不管怎样,ParagTyagi,你的代码运行良好,但我想知道为什么你的代码运行正常,而我的代码却失败了。仅仅转义是不够的。使用mysqli而不是mysql,准备语句,然后绑定参数。
$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);
}