Meglio mysql_real_escape_string, htmlenties serve per convertire i caratteri accentati, gli apostrofi, ecc. in entità html.
Per quanto riguarda invece $_REQUEST, $_POST e $_GET,
$_REQUEST contiene anche i valori di $_POST e $_GET, ed è utile quando non si da dove arriverà l'input. Quando invece si sa da dove arriva l'input conviene utilizzare $_GET o $_POST a seconda che il dato arrivi dal get o post.