Ответ 1
Из-за кодировки кодировки.
Без $conn
, mysqli_real_escape_string()
не сможет определить, какой символ кодирует соединение, и слепо попытается избежать общих опасных символов - оставив некоторые потенциально опасные хакерские хаки для прохождения.
Истинные (не эмулированные) подготовленные операторы еще лучше (или более безопасны, как вы предпочитаете), поскольку они принимают кодировку символов столбца вместо подключения.