Могу конечно ошибаться, но как я читал данные не нужно фильтровать перед записью в БД, в БД нужно хранить все в исходном виде. Раньше знаю было популярным перед записью в БД пропускать через mysql_real_escape_string, но эта функция уже устарела и не рекомендуется. Желательно использовать PDO и подготовленные выражения для защиты от SQL injection. А вот фильтровать нужно при выводе из БД (htmlspecialchars вроде как достаточно).