Автор Тема: Работа с Mysql скрипт валится с ошибко а то и проглатывает.  (Прочитано 3052 раз)

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

Оффлайн systemroot

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Скрип валиться с ошибкой при выполнений куска кода

my $sth=$dbh->do("select max(DogID) as maxID from Dogs where DogID<$DogID_Hi AND DogID>$DogID_Low");
   my $row =  $sth->fetchrow_hashref();
    my    $MaxDogID=$row->{\'maxID\'}+1;


Ошибка: Can\'t call method "fetchrow_hashref" without a package or object reference
ICQ : 334278725
mail: olegssm@timus.ru        olegssm@mail.ru

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
systemroot
Естественно...
Команда SELECT не работает через do

my $sql = "SELECT ... ";
my $sth = $dbh->prepare($sql); $sth->execute();
my $row = $sth->fetchrow_hashref();
$sth->finish();

http://www.perldoc.narod.ru/perl-dbi_ref.pdf

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Цитировать
systemroot:
my $sth=$dbh->do("select max(DogID) as maxID from Dogs where DogID<$DogID_Hi AND DogID>$DogID_Low");

ты бы что ли документацию почитал по DBI..

Цитировать

This method is typically most useful for non-SELECT statements that either cannot be prepared in advance (due to a limitation of the driver) or do not need to be executed repeatedly. It should not be used for SELECT statements because it does not return a statement handle (so you can\'t fetch any data).


$sth=$dbh->prepare($sql);
$sth->execute;
my $row = $sth->fetchrow_hashref();
 в исканиях.

Оффлайн systemroot

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Виноват пропустил.

Но вот это я понять не могу

Can\'t use string ("5329") as an ARRAY ref while "strict refs" in use at
ICQ : 334278725
mail: olegssm@timus.ru        olegssm@mail.ru

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Цитировать
systemroot:
Но вот это я понять не могу

Can\'t use string ("5329") as an ARRAY ref while "strict refs" in use at

мы тоже, пока ты не объяснишь когда, где и при каких условиях она вываливается.
 в исканиях.

 

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