Bueno, analiza la situación:
mysql_fetch_array debe recibir un resultado de MySQL, pero en cambio, si haces un var_dump a
$sql, te darás cuenta que devuelve false. Ahora, si analizamos en el manual de PHP, nos dice que
mysql_query devolverá false en caso de error.
Entonces... ¿Qué está mal? La Query.
Pero para saber exactamente qué falla en la query, hay que debuggear:
Ahora dinos.. ¿Qué error sale?