Я создавал форму ввода базы данных. Для заметок есть три поля. Все они были построены одновременно. У них одинаковая логика и система классов, но один из них возвращается с escape-метками, когда я обновляю запись, например Я вхожу
1
2
3
и обновленная запись возвращается
1\r\n2\r\n3
Я смущен, поскольку другой возвращает текст в отформатированном виде. Можете ли вы подсказать, почему это происходит?






Как бы то ни было, в вашем вопросе не хватает важной информации. Очевидно, что если все сделать идентично, то и данные будут такими же. Кроме того, вы, вероятно, не имеете в виду, что в ваших данных есть escape-метки (или вы?). В этом случае вы должны явно вызвать функцию для преобразования разрывов строк в строку, содержащую символы '\' и 'n'.
Не имея кода, я предполагаю, что вы по-другому отображаете свои данные; один раз с помощью обычного echo и один раз с помощью чего-то вроде var_dump.
Как и предположил Конрад, вашему вопросу не хватает ясности. Они оба на одной странице? Если нет, то есть ли на обеих страницах один и тот же DOCTYPE?
Самое простое решение - обращаться с ним независимо: addslashes (или mysql_real_escape_string) для INSERT и UPDATE и stripslashes для SELECT.
Другой сценарий, с которым вам нужно справиться, - это POST на странице с ошибками (например, повторно заполненной значениями сообщений). Вы должны убедиться, что значение POST представляет собой «урезанную» версию косых черт, иначе вы удвоите дополнительные косые черты; поэтому косые черты добавляются только после того, как все ваши посты валидации и верификации были завершены.
Когда вы говорите, что у вас есть 3 поля для заметок, все ли они теги HTML <textarea>? Или два из них HTML <input type = "text">, а тот, с которым у вас возникли проблемы, - это тег <textarea>?