URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3051
[ Назад ]

Исходное сообщение
"Программирование на bash"

Отправлено Torion , 10-Июн-04 22:29 
К сожалению, я не силен в программировании. Может кто-нибудь подскажет начинающему как сделать скрипт записывающий текущий курс доллара в MySQL. (ASPLinux9.2)
Вот что у меня получилось на сегодняшний день:
=cut================================================
#!/bin/sh

cur_date=`date +%Y%m%d`
cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`

mysql -uuser_name -puser_pass;

# SQL запросы к базе данных которые я не знаю как засунуть в скрипт
USE user_base;
INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
=cut================================================

Можно ведь как-то засунуть SQL-запросы из shell-скрипта, но вот как?!


Содержание

Сообщения в этом обсуждении
"Программирование на bash"
Отправлено ACCA , 10-Июн-04 23:13 
#!/bin/sh

cur_date=`date +%Y%m%d`
cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`

mysql -uuser_name -puser_pass user_base <<EOM
INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
EOM


"Программирование на bash"
Отправлено ACCA , 10-Июн-04 23:18 
Может потребоваться сделать что-то вроде,

INSERT INTO rate (date, rate) VALUES ('$cur_date', $cur_rate);

если date у тебя типа string.


"Программирование на bash"
Отправлено Torion , 10-Июн-04 23:50 
>Может потребоваться сделать что-то вроде,
>
>INSERT INTO rate (date, rate) VALUES ('$cur_date', $cur_rate);
>
>если date у тебя типа string.


Всё, нашел ответ!!!
Вместо EOM  ставим QUERY_INPUT и всё работает

АССА, спасибо за помощь, вопрос снят


"Программирование на bash"
Отправлено Torion , 10-Июн-04 23:26 
>#!/bin/sh
>
>cur_date=`date +%Y%m%d`
>cur_rate=`wget -q -O- http://www.i8.ru/cbr/usd_3.txt`
>
>mysql -uuser_name -puser_pass user_base <<EOM
>INSERT INTO rate (date, rate) VALUES ($cur_date, $cur_rate);
>EOM


получаю следующую ошибку:

ERROR 1064 at line 2: У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'EOM' на строке 1

Для справки:

mysql> \s
--------------
mysql  Ver 12.22 Distrib 4.0.18, for pc-linux (i686)

Server version:         4.0.18-Max-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Client characterset:    latin1
Server characterset:    latin1
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 1 day 20 hours 50 min 30 sec