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());