Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вопрос параноика


Автор: Wolf1994 29.8.2005, 03:43
Надо ли делать эскэйп при операциях выборки из базы. То есть, например:
Код

$sql = "SELECT * FROM $table_name_top WHERE email='$email'";

Надо ли эскэйпить $email?

Автор: Mont 29.8.2005, 06:57
надо, обязательно.

Автор: Mal Hack 29.8.2005, 13:04
http://php.net/mysql_real_escape_string

Автор: Wolf1994 29.8.2005, 15:57
Не совсем уловил разницу между эскэйпом и реальным эскэйпом. Значит ли это, что следует всегда пользоваться реальным эскэйпом?

Автор: Рыжий 29.8.2005, 16:08
Wolf1994
нет необязательно.
mysql_real_escape_string экранирует все символы в зависимости от кодировки, которую ты поставишь.

Автор: Mal Hack 29.8.2005, 17:29
Цитата
mysql_escape_string() does not escape % and _.

This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.



Цитата
mysql_real_escape_string() calls MySQL's library function mysql_escape_string, which prepends backslashes to the following characters: NULL, \x00, \n, \r, \, ', " and \x1a.


Автор: Wolf1994 29.8.2005, 21:08
Спасибо. буду пользоваться real escape.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)