Резко недооцененный ответ Г.С. на самом деле довольно правильный.
Стандартный SQL использует удвоение, чтобы избежать буквального апострофа. Нестандартное использование обратного слеша в MySQL для экранирования является настройкой по умолчанию, но его можно отключить, и часто это происходит, в частности, в sql_mode ANSI.
В этом случае будет работать только удвоенный синтаксис, и любое приложение, которое вы используете addlashes (или другой специальный метод экранирования), сломается. mysql_real_escape_string будет использовать любой способ экранирования, который лучше всего подходит для sql_mode соединения.
Проблема многобайтовой кодировки также важна, если вы все еще используете те противные восточноазиатские кодировки, которые повторно используют младшие 128 символов, но тогда вы действительно хотите использовать вместо этого UTF-8. С другой стороны, \ n-экранирование не имеет значения, поскольку MySQL вполне может справиться с необработанным переводом строки в операторе.