Det är något effektivt, men det är suboptimalt -- inte all data du får i _GET och _POST kommer att gå in i databasen. Ibland kanske du vill visa det på sidan istället, i så fall kan mysql_real_escape_string bara skada (istället skulle du vilja ha htmlentities).
Min tumregel är att bara fly något omedelbart innan det sätts in i det sammanhang där det behöver flys.
I det här sammanhanget är det bättre att du bara använder parametriserade frågor – då görs escapening åt dig automatiskt.