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

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

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

Непрочитанное сообщение mediamag » 2010-11-30 11:00:21

Доброго времени суток. Хочу записать в базу 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" все записывается чётко. Помогите избавиться от неприятных символов

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

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

Непрочитанное сообщение mediamag » 2010-11-30 11:46:10

Да я читал про него, и пытался влепить его в разные части кода и как показано в мануале, но все бестолку. Если не сложно подскажите где в моём случае должен быть трим?

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

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

Непрочитанное сообщение skeletor » 2010-11-30 11:57:59

Приводите код, где написан этот sql-запрос.

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

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

Непрочитанное сообщение rmn » 2010-11-30 12:02:48

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()

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

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

Непрочитанное сообщение mediamag » 2010-11-30 12:18:04

Не помогло, по прежнему записывается так же с левыми знаками

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

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

Непрочитанное сообщение Gloft » 2010-12-22 17:43:54

В запросе

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

 
 ... 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 начальный пробел.