You should always use the correct escaping function for every string going into the database - even if you THINK that it will probably not contain any strings which you think need escaping.
Validation is a separate topic and should be done on another level.
Normally I'd say, use a system to automatically correctly escape strings - some sort of DB access layer like DB_DataObjects, or use prepared queries with PEAR DB (Although I'm not 100% convinced about that).
If you try to add the code to correctly manually escape every string in your application into the database, you will fail. So don't do it.
Mark