Jörg Peschke: mysql abfrage einer spezif. spalte

Beitrag lesen

Hallo Malte,

das habe ich schon ca 362784328mal getan... aber ich finde da nix auf cpan - und inwiefern meine frage jetzt was mit der mysql-doku zu tun hat, wäre ich gespannt.

Das von Dir beschriebene Verhalten von "selectrow_hashref" ist bei CPAN fürs DBI-Modul genauso dokumentiert:

"[...]This utility method combines "prepare", "execute" and "fetchrow_hashref" into a single call. It returns the FIRST ROW of data from the statement.[...]

Es ist also nicht verwunderlich, dass Du nur eine Zeile wiederbekommst.

Versuch mal folgendes:
my $sth = $dbh->prepare ("SELECT * FROM tabelle usw.");
$sth->execute or die "Cannot Do select"
while ($hash_ref = $sth->fetchrow_hashref) {
   $date = $hash_ref->{'date'};
    ...
    ...
}

(ohne Gewähr)

Dieses Konzept ist bei allen MySQL-APIs (ob Perl/PHP oder was auch immer) im Endeffekt gleich
(1. Datenbankverbindung aufbauen, 2. Select-Statement absetzen, 3. so lange Tabellenzeilen vom Ergebnis-Vektor nachholen (das macht fetchrow_hashref), bis keine mehr kommt), daher auch Struppis Verweis auf die MySQL-Doku :)

Viele Grüße,
Jörg