Hi Martin,
ich hab zwar kein Array, sondern ein Hash, mit dem ich die Daten über den Feldnamen ansprechen kann, was den code besser lesbar macht,
aber du kannst ja ein Array draus machen.
use DBI;
$db = DBI->connect( 'DBI:mysql:database='.$DB_NAME,
$DB_User,
$DB_PWD,
{
RaiseError => 0,
AutoCommit => 1
}
) || die "Database connection not made: $DBI::errstr";
$sth = $db->prepare( $SQLString ) or die $db->errstr;
$ra = $sth->execute(); # $ra = rows affected or undef in case of error
create global values:
hash %QData = (Column1Name => [@column1Values], Column2Name => [@column2Values], ...);
scalar $rc = rowcount
my $rv = $db->err;
my(@fields) = @{$sth->{NAME}}; # get all fieldnames
my $fc = @fields; # count fields
$rc = 0; # count rows
my $lo; # init.
%QData = undef;
do{
$lo = $sth->fetchrow_hashref; # get record
if ($lo ne ""){
my(%data) = %{$lo};
for (my $a = 0; $a < $fc; $a++){
#print $data{$fields[$a]},"\n";
$QData{$fields[$a]}[$rc] = $data{$fields[$a]};
}
$rc++;
}
} until ($lo eq "");
$db->disconnect();
Zugriff über $QData{'Feldname'}[$zeile]
Gruss
Egon
Hallo Martin,
danke dir vielmals, ist zwar ne andere Lösung, erfüllt aber dennoch einwandfrei ihren zweck :)
Mfg Martin