2011-09-13 4 views

ответ

9

Нет, вам не нужно избегать данных для защиты от SQL-инъекции при привязке параметров.

Это не освобождает вас от проверки данных.

При привязке параметров не выполняется экранирование (внутренне или иначе). Сформулирован оператор SQL с записями параметров, и значения для них передаются во время выполнения.

База данных знает, какие параметры и обрабатывают их соответственно, в отличие от интерполяции значений SQL.

+0

Спасибо, Фил. – Francisc

5

No.

Цитируя это

http://mysql.lamphost.net/tech-resources/articles/4.1/prepared-statements.html

«Обычно, когда вы имеете дело с специальным запросом, вам нужно быть очень осторожный при обработке данных, которые вы получили от пользователя. Это подразумевает использование функций, которые устраняют все необходимые проблемы символов, таких как одинарная кавычка, двойная кавычка и обратная косая черта characte RS. Это необязательно при работе с подготовленными заявлениями. Разделение данных позволяет MySQL автоматически принимать во внимание эти символы, и они не должны быть экранированы с помощью любого специальную функцию