Автор Тема: Потеря переменной после отработки цикла while  (Прочитано 15152 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Цитировать
koliama:
?? а у меня нет....

может это потому, что у Вас в
$sth = $dbh -> prepare("SELECT sum(fsize)/1024/1024 AS Summa FROM $table[b];[/b]");
стоит лишняя точка с запятой?
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
vladsu
И не только это...


koliama
Функция SUM используется в операторах GROUP BY, которого я тут как бы не наблюдаю. Результатом выполнения запроса, является error...

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
почему лишняя? ; - это объяснение мускулу, что запрос надо выполнять.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
koliama:
это объяснение мускулу, что запрос надо выполнять.

бегом читать perldoc DBI
The documentations is your friend

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
NeoNox
Вы считаете, что точку с запятой в конце запроса ставить нельзя? Я думаю, что от этого ничего страшного не случится. А в некоторых случаях может помочь...
Но в документации действительно не ставится точка с запятой в конце запроса. Завтра обязательно попробую убрать ее.
Хотя, имхо, не в этом дело.

To
Phoinix
Совсем не обязательно :) Я же использую конструкцию
AS....

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Цитировать
Phoinix:
Функция SUM используется в операторах GROUP BY, которого я тут как бы не наблюдаю. Результатом выполнения запроса, является error...


Не верно, GROUP BY нужен если будет более одной колонки.

Цитировать
koliama:
почему лишняя? ; - это объяснение мускулу, что запрос надо выполнять.

perldoc DBI
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Я читал доку к данному модулю. Нигде ЯВНО не сказано, что ; ставить нельзя.

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Цитировать
koliama:
Завтра обязательно попробую убрать ее.
Хотя, имхо, не в этом дело.

И заодно не забудьте поставить, в начале программы
use strict;
!!!
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
vladsu
хм.. вот с этим проблемы. уже пробовал, но скрипт просто отказался работать..

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
koliama
Цитировать
Я же использую конструкцию AS


Вот это как раз таки не причем, AS - ключевое слово присвоения...

Да, я не обратил внимание, что суммирование может вестись по всей таблице...

Цитировать
А в некоторых случаях может помочь

Интрересно, в каких случаях это помогает... ;)

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Phoinix
а вы попробуйте убрать AS - ..... :)
в каких еще не знаю :) но она и не мешает.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
koliama
Попробовал и что дальше?

SELEST SUM(id) AS Summa FROM table;

result:

------------------
Summa
------------------
8646
------------------



SELEST SUM(id) FROM table;

result:

------------------
SUM(id)
------------------
8646
------------------

И в чем же разница, если ты данные выбираешь не в хеш, а в обычный массив?

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Цитировать
koliama:
хм.. вот с этим проблемы. уже пробовал, но скрипт просто отказался работать..

Не вижу смысла продолжать дальнейшую дискуссию, пока Вы не избавитесь от проблем на которые указывает "стрикт"!

Цитировать
koliama:
но она и не мешает.

Я бы не стал на Вашем месте так категорично это утверждать, тем более, что Вы не правы.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн koliama

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 35
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
vladsu
а не подскажете, где можно почитать про ограничения, которые накладывает этот оператор?

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Цитировать
koliama:
а не подскажете, где можно почитать про ограничения, которые накладывает этот оператор?

Оно называется "прагмой". Минимально
perldoc strict
Только Вам не об ограничениях нужно читать, а нужно ее вставить в Ваш код и пытаться исправить все ошибки на которые она указывает, будут проблемы, обращайтесь в форум или можно на прямую ко мне в асю.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28