Я сделал простую систему новостей с комментариями, используя PHP и MySQL, и она отлично работала на моем локальном сервере Apache, как на моей машине с Fedora 10, так и на моей Windows 7. Теперь у меня возникла проблема, я загрузил его на веб-хостинг, и он продолжает возвращать все 'и "как \' и \".
Я полагаю, что это либо веб-хост, который автоматически добавляет их по соображениям безопасности, либо MySQL является неправильной сортировкой, но я пока не смог ее разрешить, протестировав несколько параметров сортировки MySQL.
Вот пример запроса:
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
$time
- time();
$newstitle
и $newstext
анализируются с $_POST
, и оба запускаются до mysql_real_escape_string()
, прежде чем я выполню запрос (думаю, это может быть проблемой, но так как это часть безопасности, я просто не хочу чтобы удалить его, и поскольку он не вызывает проблем на моих локальных серверах)
В заключение: на моих локальных серверах apache у меня был latin1_swedish_ci
, который не работал на сервере веб-хостов.
EDIT:
Они выглядят так в базе данных:
\'\'\'\"\"\"
В то время как на моих локальных у них не было дополнительной обратной косой черты, так что это должен быть PHP, добавляющий ее. Есть ли способ решить эту проблему, кроме добавления функции, которая удаляет дополнительные обратные слеши?