|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 28 Nov 2003 17:17:56 To : Jahor Miadzviedziew Subject : Re: dbi: почему не работает следующая конструкция?.. -------------------------------------------------------------------------------- Хмутро. JM> имеется примерно следующее: JM> [1] JM> use strict; JM> use DBI; JM> ... JM> $tmp{'links'} = JM> $dbh->prepare( "SELECT field1, field2 FROM table2 WHERE field3=?" ); JM> $tmp{'links'}->execute( $$ref{'field1'} ); JM> $tmp{'links'} = $tmp{'links'}->fetchall_arrayref( {} ) JM> or die $dbh->errstr() . "\n"; JM> ... JM> этот пример работает. JM> [2] JM> use strict; JM> use DBI; JM> ... JM> $tmp{'links'} = $dbh->prepare( JM> "SELECT field1, field2 FROM table2 WHERE field3=?" JM> )->execute( $$ref{'field1'} )->fetchall_arrayref( {} ) JM> or die $dbh->errstr() . "\n"; JM> ... JM> этот пример не работает, падает с сообщением: Can't call method JM> "fetchall_arrayref" without a package or object reference at JM> /var/www/html/test3/cgi-bin/index.pl line 263. почему? Потому что execute возвращает отнюдь не объект, от которого оно было вызвано. Правильный способ тебе рассказали в параллельном письме. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.1 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/114771e03e5c6.html, оценка из 5, голосов 10
|