2012-02-09 4 views
0

я получаю эту ошибку при попытке выполнить следующий запрос:Предупреждение: mysql_fetch_assoc() ожидает параметр 1, чтобы быть ресурсом, логический данный

$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"); 

проблема кажется where partcount > 0. Кажется, что он видит 0 в качестве логического при попытке сделать сравнение?

+0

Ваш SQL имеет ошибку. – alex

+3

Возможный дубликат [как предотвратить эту ошибку: Предупреждение: mysql_fetch_assoc() ожидает, что параметр 1 будет ресурсом, boolean задан в ... в строке 11] (http://stackoverflow.com/questions/3129374/how-to- prevent-this-error-warning-mysql-fetch-assoc-expects-parameter-1-to) –

+1

Посмотрите, возвращает ли ваш запрос какой-либо результат или нет. Возвращенный ресурс не тот, каким он должен был быть. – HardCode

ответ

2

Значение $ sql, вероятно, неверно. Это происходит, если запрос, который вы пытались выполнить, не удалось выполнить, как правило, из-за синтаксической ошибки в 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()); 
} 
+0

в зависимости от вашей платформы, вы можете использовать 'die (mysql_error()); вместо этого. – Jacksonkr

Смежные вопросы