IF I were to validate by regex, I would put a confirmation for emails that I couldn't validate that read "We are very sorry but your email doesn't appear to be valid, however validating emails is very difficult so it may be our mistake. Can you confirm your email is correct?" And if they don't modify it, accept it as valid. It is an extra step but seems more friendly.
If you already have a layer of abstraction to your SQL statements, then it can be arguable. But if your are littering SQL statements everywhere, making changes to the database can be more tedious.
Also if you want to support more than one type database, I would use an ORM.
"The iPad’s new “retina display” boasts a 2048-by-1536 resolution, a display that Joshua Topolsky of The Verge notes has a million more pixels than a HDTV."