<a href='http://lists.mysql.com/announce/364' target='_blank'>Проблемы</a>, связанные с возможностью передачи escape последовательности "\'" через некорректную компоновку символов в UTF-8 или других многобайтных кодировках, изначально <a href='http://www.opennet.ru/opennews/art.shtml?num=7579' target='_blank'>найденные в PostgreSQL</a>, не обошли стороной и MySQL, в связи с чем и были выпущены новые версии <a href='http://dev.mysql.com/doc/refman/5.0/en/news-5-0-22.html' target='_blank'>5.0.22</a> и <a href='http://dev.mysql.com/doc/refman/4.1/en/news-4-1-20.html' target='_blank'>4.0.20</a>.
Если по каким-то причинам обновление сервера невозможно, рекомендуется в качестве временной меры использовать:
SET sql_mode='NO_BACKSLASH_ESCAPES';
SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES';
Функции mysql_real_escape_string() или addslashes() в PHP проблемы не решают.
©opennet.ru/opennews