Det er noget effektivt, men det er suboptimalt -- ikke alle de data, du modtager i _GET og _POST, vil gå ind i databasen. Nogle gange vil du måske vise det på siden i stedet, i hvilket tilfælde mysql_real_escape_string kun kan skade (i stedet vil du have htmlentities).
Min tommelfingerregel er kun at undslippe noget umiddelbart før det sættes ind i den kontekst, hvor det skal undslippes.
I denne sammenhæng ville du være bedre af bare at bruge parametriserede forespørgsler – så sker escapening automatisk for dig.