давайте рассмотрим, я всегда буду делать соединение
SET NAMES 'utf8'
с mysql (поэтому мне нужны многобайтовые экранированные символы).
Есть ли безопасная альтернатива mysql_real_escape_string, которая не требует подключения mysql?
На официальной странице я нашел комментарий , который использует str_replace, например:
if(!empty($inp) && is_string($inp)) {
return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"),
array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z') , $inp);
}
этого достаточно?
И почему mysql_real_escape_string нуждается в текущем наборе символов, если он будет экранировать только те же значения?(как описано на официальной странице php.net/mysql_real_escape_string)
спасибо