PHP / MYSQL: оператор UPDATE, содержащий возврат каретки или новые строки

У меня есть PHP-скрипт, который добавляет новую строку в строку, сохраненную в MYSQL в поле mychar.

Когда я смотрю на базу данных с помощью mysqladmin, я вижу поля, которые имеют несколько строк. Они не показывают никаких символов. Что бы ни создавало новую линию, она невидима.
введите описание изображения здесь

Однако, когда я пытаюсь обновить существующую строку строкой, содержащей дополнительную строку, используя \ n, она обновляет поле как пустое. Я предполагаю, что это потому, что mysql не принимает \ n в операторе обновления.

Может кто-нибудь подсказать, как подготовить строку в PHP, чтобы при обновлении поля в MYSQL оно обновлялось правильно, т.е. с новой строкой. \ n не похоже на работу.

$sql = "UPDATE comments SET comment = 'firstline\nsecondline\nthirdline' WHERE id = 23"

Когда вы запускаете вышеприведенный оператор, он обновляет строку, но поле комментария остается пустым.

Спасибо за любые предложения.

1

Решение

Оператор анализируется 2 раза: сначала по PHP, а затем по MySQL.
PHP заменяет \n с символом перевода строки, но MySQL, кажется, игнорирует эти пробельные символы. Двойным побегом \n в \\n Вы достигаете, что \n последовательности символов анализируются MySQL и вставляются в виде перевода строки.

1

Другие решения

Привет, ты можешь попробовать вот так

$data = 'firstline\nsecondline\nthirdline';
$sql = "UPDATE comments SET comment = $data WHERE id = 23"
1