Php 警告:mysql_fetch_assoc()要求参数1为资源,给定布尔值

Php 警告:mysql_fetch_assoc()要求参数1为资源,给定布尔值,php,mysql,sql,Php,Mysql,Sql,尝试执行以下查询时出现此错误: $sql = mysql_query("select c.id as id_car, c.year, c.make, c.model, c.type, c.colour, (select count(*) from `parts` where `id_car`=c.id and `is_packaged`='yes') as partcount from

尝试执行以下查询时出现此错误:

$sql = mysql_query("select c.id as id_car, c.year, c.make, c.model, c.type, c.colour, 
                           (select count(*) from `parts` where `id_car`=c.id and `is_packaged`='yes') as partcount
                           from `cars` as c 
                           where partcount > 0
                           group by c.id
                           order by `id` desc");

问题似乎是
中的partcount>0
。在尝试进行比较时,似乎将0视为布尔值?

$sql的值可能为false。如果您试图执行的查询无法执行(通常是由于SQL中的语法错误),就会发生这种情况

通常,您希望查询代码如下所示:

if ($result = mysql_query ('SELECT * FROM foo WHERE bar = \'baz\''))
{
    // resultset processing goes here
    while ($row = mysql_fetch_assoc ($result))
    {
    }
}
else
{
    echo (mysql_error ());
}

可能的重复项,请查看您的查询是否返回某些结果。返回的资源不是它的本意。将查询更改为选择c.id作为id\u car、c.year、c.make、c.model、c.type、c.color,(从
零件中选择count(*),其中
id\u car
=c.id和
是否打包
='yes')从
cars
as c group by c.id拥有partcount>0 order by
id
desc谢谢jaspreet,这很有效。根据您的平台,可能会重复使用
die(mysql_error())取而代之。