Страница 1 из 1

Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 11:00:21
mediamag
Доброго времени суток. Хочу записать в базу mysql некоторые данные. Сам новичёк. вот запрос:

Код: Выделить всё

${lookup mysql{INSERT INTO `user_blacklist` (sender_address, local_recipient, added_date) VALUES ('${quote_mysql:$rheader_Subject:}', '${quote_mysql:$sender_address}', CURDATE() )}}
В базу записывается всё корректно кроме колонки "sender_domain". В нее текстовое значение записывается криво, а именно (привожу дамп колонки):

Код: Выделить всё

' avto@mail.ru\n',
Тоесть впереди пробел и в конце символ "\n", хотя в колонку "local_recipient" все записывается чётко. Помогите избавиться от неприятных символов

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 11:43:29
rmn

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 11:46:10
mediamag
Да я читал про него, и пытался влепить его в разные части кода и как показано в мануале, но все бестолку. Если не сложно подскажите где в моём случае должен быть трим?

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 11:57:59
skeletor
Приводите код, где написан этот sql-запрос.

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 12:02:48
rmn
mediamag писал(а):Да я читал про него, и пытался влепить его в разные части кода и как показано в мануале, но все бестолку. Если не сложно подскажите где в моём случае должен быть трим?
как-то так:

Код: Выделить всё

${lookup mysql{INSERT INTO `user_blacklist` (sender_address, local_recipient, added_date) VALUES (TRIM(BOTH ' \n' FROM '${quote_mysql:$rheader_Subject:}'), '${quote_mysql:$sender_address}', CURDATE() )}}
и тут какое-то несоответствие:

Код: Выделить всё

столбцы                значения
sender_address     $rheader_Subject
local_recipient       $sender_address
added_date           CURDATE()

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-11-30 12:18:04
mediamag
Не помогло, по прежнему записывается так же с левыми знаками

Re: Запись в базу MySQL с символом "\n"

Добавлено: 2010-12-22 17:43:54
Gloft
В запросе

Код: Выделить всё

 
 ... TRIM(BOTH ' \n' FROM ...
в качестве суфикса(строки) поиска для замены используется ПОСЛЕДОВАТЕЛЬНОСТЬ ' \n' а у тебя ее в искомой строке нет, есть только отдельно пробел и знак новой строки.
Попробуй так

Код: Выделить всё

${lookup mysql{INSERT INTO `user_blacklist` (sender_address, local_recipient, added_date) VALUES (LTRIM(TRIM(BOTH '\n' FROM '${quote_mysql:$rheader_Subject:}')), '${quote_mysql:$sender_address}', CURDATE() )}}
TRIM удаляет знак новой строки, а LTRIM начальный пробел.