Нет, вам не нужно экранировать значение самостоятельно (т. Е. Нет, вам не нужно вызывать mysqli_real_escape_string
) , когда вы используете подготовленные операторы: механизм БД сделает это сам.
(На самом деле, если бы вы вызывали mysql_real_escape_string
и использовали связанные параметры, ваши строки были бы экранированы дважды - что не было бы замечательно: вы бы в конечном итоге экранировали символы везде ...)
Как примечание: ваши значения передаются как целые числа (как указано 'ii'
) , поэтому вам не придется вызывать mysql_real_escape_string
, даже если вы не использовали подготовленные операторы: в качестве его имени указывает, что эта функция используется для экранирования ... строк.
Для целых чисел я обычно просто использую intval
, чтобы убедиться, что данные, которые я вставляю в свои SQL-запросы, действительно являются целыми числами.
(Но, поскольку вы используете подготовленные запросы, вам снова не нужно избегать этого)