Según la documentación
, mysql_query
devuelve FALSO en caso de error con la consulta. Debido a esto, su argumento para mysql_fetch_array
es un booleano. Usa el mysql_error
función para ver qué está mal con la consulta SELECT.
Por ejemplo,
$result=mysql_query($sql) or die(mysql_error());