htmlspecialchars za manualem:
Cytat
This function is useful in preventing user-supplied text from containing HTML markup, such as in a message board or guest book application.
Dzięki temu jak wyświetlasz te zmienne w przeglądarce możesz być spokojny o takie ataki jak np XSS.
mysql_real_escape_string dotyczy samej bazy. Jak przepuścisz łańcuch przez tą funkcję to masz pewność że zapytanie się nie wysypie i nic się przez nie nie przedrze (przynajmniej w teorii). W manualu masz też info jak używać przy włącznych magic_quotes