Как mysqli_real_escape_string не может предотвратить внедрение SQL? [Дубликат]

На этот вопрос уже есть ответ здесь:

SQL-инъекция, которая обходит mysql_real_escape_string () 4 ответа

Прежде всего, я понимаю, что люди хотят использовать хранимые процедуры, чтобы они повторно использовали запросы и заботились о побеге. Тем не менее, я читал, многие разработчики говорят, чтоmysqli_real_escape_string не может на 100% предотвратить SQL-инъекции. Может кто-нибудь привести пример этого?

Из моих ограниченных знаний по этому вопросу я бы сказал, чтоmysqli_real_escape_string было бывсегда подходит для строк, но для числовых значений вас могут поймать, если вы не проверите число типа int, float, double и т. д.

РЕДАКТИРОВАТЬ: я забыл добавить что-то критическое: предположим, что кодировка UTF8 и mysqli_set_charset был вызван соответственно. Единственная инъекционная ямы видели несколько наборов символов (ни один из которых не является UTF8).

Ответы на вопрос(1)

Ваш ответ на вопрос