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 byid
desc谢谢jaspreet,这很有效。根据您的平台,可能会重复使用die(mysql_error())代码>取而代之。