Esto, ¿te da algun error? ¿Que hace exactamente? Porque puede ser un error de MySQL u otra cosa. Mira a ver como tienes configurado el display_errors en tu php.ini o en phpinfo(). Por cierto, antes del header() no debes enviar nada al navegador, ni HTML, ni texto, ni espacios en blanco. Nada. Asi que si tienes el <html> ... por delante, eliminalo. Con la redireccion con header() no puedes mostrar nada.
Para comprobar que se ejecuta bien la consulta haz:
Código PHP:
$resultado = mysql_db_query ($db, $query, $link) or die("Fallo $query .<br>MySQL dice: ".mysql_error());
Saludos.