Почему бы не использовать array_map()
?
array_map(mysql_real_escape_string, $_POST);
Но на самом деле вы должны использовать параметризованные / подготовленные операторы.
mysql_real_escape_string()
учитывает текущий набор символов базы данных, mysql_escape_string()
- нет. Таким образом, первое является лучшей альтернативой в сравнении.
Редактировать (после редактирования ОП к вопросу):
Поскольку вы уже делаете подготовленные операторы PDO, нет необходимости изменять ваши значения. PDO позаботится обо всем, в этом весь смысл ( Если вы действительно поместите все данные в параметры, то есть - просто объединение строк для построения операторов SQL приведет к катастрофе с PDO или без). Экранирование значений заранее приведет к экранированию значений в базе данных.