Forum Webscript.Ru
Программирование => Perl => Тема начата: Dema от 11 Апреля 2003, 21:28:11
-
все тот же скрипт:
#!/usr/bin/perl
use CGI;
print "Content-Type:text/html\\n\\n";
print "test
\\n";
use dbi;
use Mysql;
$dbh = Mysql->connect($localhost, $ddd, $root);
$dbh->selectdb("ddd");
$sth = $dbh->query("select * from records");
@arr = $sth->FetchRow;
$count = $arr; # Figure out how many elements.
for ($i=0;$i<=$count;$i++)
{
print "br".$arr[$#i];
}
выдает только последнюю запись таблицы, а должен весь столбец, может подскажете в чем дело?
-
@arr = $sth->FetchRow;
$count = $arr; # Figure out how many elements.
for ($i=0;$i<=$count;$i++)
{
print "br".$arr[$#i];
}
выдает только последнюю запись таблицы, а должен весь столбец...
лол:)))
perldoc DBI
А вообще fetchrow неплохо бы в цикле говорить, поскольку
The typical method call sequence for a "SELECT" statement is:
prepare,
execute, fetch, fetch, ...
execute, fetch, fetch, ...
execute, fetch, fetch, ...
for example:
$sth = $dbh->prepare("SELECT foo, bar FROM table WHERE baz=?");
$sth->execute( $baz );
while ( @row = $sth->fetchrow_array ) {
print "@row\\n";
}
Читайте доку бо она рулез.:)
-
Dema
ИМХО проще использовать selectall_arrayref и ему подобные..
оно хоть и подольше выполняется, зато результат наглядненько в массиве выдаёт ;)