VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Пробел в таблице Mysql

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
proxxs
Сообщения: 16
Зарегистрирован: 16 янв 2019, 20:49

Пробел в таблице Mysql

Сообщение proxxs »

Всем привет!
Не то, чтобы сильно принципиально, но хотелось бы понять..
Есть контекст с exten => h,1,AGI(Script, ${DIALSTATUS}, ${CALLERID(dnid)})
Есть скрипт, который вносит в таблицу значение, которое присваивается с пробелом впереди.
mysql -u root -pPASSWORD -D database -e "UPDATE table SET status='$1' WHERE num=$2"
Пример. Номер 444 с пробелом - сюда внес значение скрипт, а 555 добавлял руками.
+-----+-------------+
| num | status |
+-----+-------------+
| 444 | ANSWER |
| 555 | ANSWER |
+-----+-------------+

Почему появляется пробел в status номера 444?
proxxs
Сообщения: 16
Зарегистрирован: 16 янв 2019, 20:49

Re: Пробел в таблице Mysql

Сообщение proxxs »

+-----+-------------+
| num | status |
+-----+-------------+
| 444 | (тут пробел)ANSWER |
| 555 | ANSWER |
+-----+-------------+
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Пробел в таблице Mysql

Сообщение ded »

1) Посмотрите как выглядит соодержимое

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

exten => h,1,NoOp(--------------${CALLERID(dnid)}----------------)
exten => h,2,AGI(Script, ${DIALSTATUS}, ${CALLERID(dnid)})
Если там пробела нету, пробуйте передавать аргументы без пробелов

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

exten => h,1,NoOp(--------------${CALLERID(dnid)}----------------)
exten => h,2,AGI(Script,${DIALSTATUS},${CALLERID(dnid)})
2) Изучайте регулярные выражения, Reg exp
*CLI> core show function REGEX

-= Info about function 'REGEX' =-

[Synopsis]
Check string against a regular expression.

[Description]
Return '1' on regular expression match or '0' otherwise
Please note that the space following the double quotes separating the regex
from the data is optional and if present, is skipped. If a space is desired at
the beginning of the data, then put two spaces there; the second will not be
skipped.

[Syntax]
REGEX("regular expression" string)
proxxs
Сообщения: 16
Зарегистрирован: 16 янв 2019, 20:49

Re: Пробел в таблице Mysql

Сообщение proxxs »

Пробовал убрать второй параметр и даже обернул переменную в скобки для наглядности.
#!/bin/bash
mysql -u root -pPASSWORD -D database -B -e "UPDATE table SET status='($1)' WHERE num=$2;"
в скобках появляется пробел!!
+-----+-------+-----------+
| num | status |
+-----+-------+-----------+
| 555 | ( CANCEL) |
+-----+-------+-----------+
Но если задаю вместо переменной какой-то текст, то пробела нет. Вот так, например: status='CANCEL'

Пробовал передать значение переменной $1 из скрипта в какой-нибудь файл - пробела в файле нет.

ps Про REGEX почитаю, спасибо.
proxxs
Сообщения: 16
Зарегистрирован: 16 янв 2019, 20:49

Re: Пробел в таблице Mysql

Сообщение proxxs »

ded, спасибо за подсказку! Убрал пробелы из диалплана
exten => h,1,AGI(Script,${DIALSTATUS},${CALLERID(dnid)})
теперь все в порядке!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH