Понимание mysql_real_escape_string (); - PullRequest
0 голосов
/ 05 февраля 2012

Я не понимаю, почему mysql_real_escape_string необходимо экранировать символы новой строки и возврата каретки:

\n и \r

Какими могут быть дыры в безопасности в sql с \n и \r?

UPDATE tbl SET field = 'text text text \n text text text \r text text' WHERE id = 1;

1 Ответ

2 голосов
/ 05 февраля 2012

MySQL не требует экранирования символа новой строки.Страница справочника для функции mysql_real_escape_string API C MySQL гласит:

Кодируются следующие символы: \, ', ", NUL (ASCII 0), «\n», «\r» и Control + Z.Строго говоря, MySQL требует только экранирования обратной косой черты и символа кавычек, используемых для цитирования строки в запросе.mysql_real_escape_string() заключает в кавычки другие символы, чтобы их было легче читать в файлах журналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...