De acordo com a documentação ,
mysql_query
retorna FALSE em um erro com a consulta. Por causa disso, seu argumento para mysql_fetch_array
é um booleano. Use o mysql_error
função para ver o que há de errado com a consulta SELECT. Por exemplo,
$result=mysql_query($sql) or die(mysql_error());