Selon la documentation
, mysql_query renvoie FALSE en cas d'erreur avec la requête. Pour cette raison, votre argument à mysql_fetch_array est un booléen. Utilisez le mysql_error pour voir ce qui ne va pas avec la requête SELECT.
Par exemple,
$result=mysql_query($sql) or die(mysql_error());