|
|
|
Junior Member
      
участник
Last Login: 25.04.2003 17:52
Сообщ.: 18,
Visits: 199
|
|
Приветствую. Не могу вытащить записи из таблицы mysql. следующий код: #!/usr/bin/perl print "Content-Type: text/html"; use DBI; my $dbh = DBI->connect("DBI:mysql:dbname:host", "user", "password"); my $sth = $dbh->prepare("select id, text from table1"); $sth->execute; $res==$sth->fetchrow_hashref(); $id=$res->{"id"}; $text=$res->{"text"}; $sth->finish; $dbh->disconnect; print $id; print $text;
В результате получаю пустую страницу без ошибок и без информации. В таблице точно есть три записи. Помогите пожалуйста, я в перле новичек, приходится разбираться в оперативном порядке.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 20.09.2003 13:10
Сообщ.: 121,
Visits: 1 332
|
|
вместо $res==$sth->fetchrow_hashref(); $res=$sth->fetchrow_hashref();
|
|
|
|
|
Junior Member
      
участник
Last Login: 25.04.2003 17:52
Сообщ.: 18,
Visits: 199
|
|
Не помогает. Дело не в этом. Методом тыка было выяснено, что он перестает вообще что-либо печатать после вызова my $sth = $dbh->prepare("select id, text from table1");
т.е. в коде #!/usr/bin/perl print "Content-Type: text/html"; print "test1<br>"; use DBI; my $dbh = DBI->connect("DBI:mysql:dbname:host", "user", "password"); print "test2<br>"; my $sth = $dbh->prepare("select id, text from table1"); print "test3<br>";
"test3" не выводится.
|
|
|
|
|
Junior Member
      
участник
Last Login: 07.02.2005 15:40
Сообщ.: 17,
Visits: 188
|
|
нужно название полей заключать в кавычки вот так:
my $sth = $dbh->prepare("select `id`, `text` from `table1`");
вот статья по DBI: http://webdocs.ru/articles/article20/
|
|
|
|
|
Forum Member
      
участник
Last Login: 10.05.2007 4:18
Сообщ.: 27,
Visits: 290
|
|
Привет! А так:
my $dbh = ... ; my $rows = $dbh->selectall_arrayref('SELECT id, text FROM table1'); foreach my $row (@$rows){ print $row->[0]||0;# это поле id print $row->[1]||'';# это поле text } $dbh->disconnect();
|
|
|
|