The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Help!!  Perl+MySql"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Help!!  Perl+MySql"
Сообщение от Egoza emailИскать по авторуВ закладки on 14-Окт-02, 14:34  (MSK)
Есть скрипт - в нём 2 запроса. Дабы не устраивать встроенных запросов (циклов) в первом дёргается А по которому во втором запросе должно вычисляться В. Трабл в том, что А - это массив. Выглядит всё так:

while ($ip=$sth1->fetchrow_array()) {
@ip = (@ip, "\"$ip\"");
}
$ips = join(',', @ip);  - получаем А для второго запроса (запятая как разделитель). Далее второй:


$sth2=$dbh->prepare("SELECT sum(bytes / $delit) AS 'traffic'
                     FROM table1 WHERE AND destin in (?) group by 'date';");
$sth2->execute($ips);

Из консоли при прямом подставлении в запрос несколько значений А в виде "А1","А2",...,"А3" - выполняется, а вот через скрипт - не хочет. Не могу понять, что ему не нравится??
Поможите, плз, кто знает....:=(((

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Help!!  Perl+MySql"
Сообщение от uldus Искать по авторуВ закладки on 14-Окт-02, 15:27  (MSK)
my @ip=();
>while ($ip=$sth1->fetchrow_array()) {
>@ip = (@ip, "\"$ip\"");

push @ip, "'$ip'";

>}
>$ips = join(',', @ip);  - получаем А для второго запроса (запятая
>как разделитель). Далее второй:

Напиши в этом месте код print "IP:$ips\n"; и покажи результат.


>$sth2=$dbh->prepare("SELECT sum(bytes / $delit) AS 'traffic'
>            
>         FROM table1
>WHERE AND destin in (?) group by 'date';");
>$sth2->execute($ips);

Сократи запрос до минимума, может не в $ips дело, $delit определен и не равен 0 ? "WHERE AND" писать нельзя, убери лишний AND или вставь недостающее условие.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Help!!  Perl+MySql"
Сообщение от Egoza emailИскать по авторуВ закладки on 14-Окт-02, 15:43  (MSK)
>push @ip, "'$ip'";
Не живёт. Для мускула нужны " " а не ' '

>Напиши в этом месте код print "IP:$ips\n"; и покажи результат.
Пишу для каждой переменной - проверяю что пролучаю на выходе При моём раскладе даёт такую строку:

"195.16.41.169","195.42.79.50"

>Сократи запрос до минимума, может не в $ips дело, $delit определен и
>не равен 0 ? "WHERE AND" писать нельзя, убери лишний AND
>или вставь недостающее условие.
AND осталось, т.к. запрос на самом деле сложнее и больше. Без этого геморра работает нормально, и, повторюсь, с консоли работает, а вот со скрипта нет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру