Escape-ввод, сохранение, затем экранирование.
Если вы храните без экранирования, вы уязвимы для SQL-инъекций.
Пример: у вас есть запрос:
mysql_query("SELECT * FROM `table` WHERE `abc`= '{$_POST['def']}';
Допустим, что $ _POST ['def'] равно
blah'; DROP TABLE `table`; SELECT * FROM `table` WHERE 'abc' = '123
Это приведет к тому, что ваш стол будет сброшен, если он не сбежал.
Если вы выводите без экранирования, вы уязвимы для XSS.
В противном случае пользователи могут внедрять вредоносный Javascript на страницы, которые могут просматривать другие пользователи.