Anexo a weissbier:
Personalmente me baso en permisos de usuario en el gestor de base de datos y expresiones regulares aplicadas tanto en cliente como en servidor para limitar las entradas de datos.
Y por si en algún caso debo llevar caracteres especiales a mi base de datos utilizo htmlspecialchars(), evitando incoherencia a la hora de mostrar los registros.
Documentación:
http://php.net/manual/es/function.htmlspecialchars.php