2016-03-30 4 views
0

Есть ли способ автоматически обрезать данные при вставке их в базу данных при использовании подготовленных команд mysqli в PHP?mysqli подготовленные операторы - auto trim

Конечно, я могу автоматически применять trim() к каждой переменной, представленной через $ _POST, но если какой-либо представленный элемент является массивом, то обрезка вызывает проблемы, поэтому моя цель - автоматическое применение trim() только к добавляемым переменным к базе данных.

+0

MySQL также 'TRIM()', которые могут быть использованы в ваших 'заявлений INSERT'. Подробнее здесь: http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_trim – mitkosoft

+0

Если вы хотите всегда, возможно, посмотрите на триггеры mysql. – Chris

+0

Спасибо Крис, пока это звучит как лучшая идея –

ответ

1

НЕТ, подготовленные заявления по существу не имеют отношения к каким-либо изменениям данных.

Подготовленный оператор - это всего лишь способ добавления данных к запросу. И единственной его целью является добавление данных как есть, без каких-либо изменений.

0

вы можете использовать array_walk_recursive как:

array_walk_recursive($_POST, function ($value) { 
    return is_string($value) ? trim($value) : $value; 
}); 
+0

Да, я знаю этот метод, просто подумал, что может быть проще –

Смежные вопросы