Hola,
Partamos del mensaje de error. Te dice que el valor del parametro pasado mysql_fetch_array() no es valido. El parametro es $resultado. Y es el valor devuelto por mysql_query() (
www.php.net/mysql_query). Si miramos el manual de mysql_query(), vemos que devuelve false en caso de error en la ejecucion de la consulta. Asi que el problema es que se ha producido un error en MySQL mientras se ejecutaba la consulta en mysql_query(). Y para ver el mensaje de error que da MySQL puedes usar mysql_error() (
www.php.net/mysql_error), haciendo algo como:
Código PHP:
$resultado = mysql_query($sql_hg) or die("Error: $sql_hg <br>. MySQL dice: ".mysql_error());
Con esto se parara el script mostrandote la consulta y el mensaje de error.
Saludos.