To trochę skuteczne, ale nie jest optymalne — nie wszystkie dane, które otrzymasz w _GET i _POST, trafią do bazy danych. Czasami zamiast tego możesz chcieć wyświetlić go na stronie, w którym to przypadku mysql_real_escape_string może tylko zaszkodzić (zamiast tego potrzebujesz htmlentities).
Moją praktyczną zasadą jest ucieczka przed czymś bezpośrednio przed umieszczeniem tego w kontekście, w którym należy uciec.
W tym kontekście lepiej byłoby używać po prostu sparametryzowanych zapytań — wtedy wyskok jest wykonywany automatycznie.