Автор Тема: selectrow_array  (Прочитано 2995 раз)

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

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
selectrow_array
« : 12 Января 2006, 16:38:48 »
всем привет. :)
вот такая у меня наблюдается странность:
в документации написано, что в скалярном контексте этот метод возвращает "первое поле первой строки". согласна, проверено - работает. супер. пишем функцию, контекст - список - возвращает так же "первое поле первой строки", хотя по документации должна бы вернуть "первую строку данных". обидно, понимаете ли. :( вот и функция: sub one_row ($@) { my ($statement,@bind_val)=(shift,@_);
my @row=\'\';
    if (@bind_val) { @row = $dbh->selectrow_array($statement,undef,@bind_val) or die "$statement, $DBI::errstr"; }
    else { @row = $dbh->selectrow_array($statement) or die "$statement, $DBI::errstr"; }
return wantarray ? @row : $row[0];
}

вызов:
my ($item,$content)=&one_row("select title,body from rubricator where id=?",3);
а вот, если сделать:my ($item,$content)=$dbh->selectrow_array("select title,body from rubricator where id=3") or die $DBI::errstr;
работает.
где я ошиблась в этой функции?
пока-пока. :)

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
selectrow_array
« Ответ #1 : 13 Января 2006, 12:45:28 »
"(@row) =" ?

 

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