kerki: DBI & Mysql .. ich raffs nicht...

Beitrag lesen

Hallo !

Ich habe schon längere Zeit nicht mehr mit Perl auf MySQL zugegriffen, aber wenn ich mich nicht völlig täusche, liefert $sth->fetchrow_array) in der Tat ein Array zurück, und zwar je nach den im SQL-Select-Statement angegebenen Datenbankfeldern.

Ein direkter Zugriff auf die Arrayfelder mittels des Datenbankfeldnames, so wie du es versucht hast, ist IMHO mit DBI nicht möglich.

Ein Beispiel zur Verdeutlichung:

SQL-Statement: "SELECT vorname, nachname, strasse, ort FROM adressen"

Ausgabe:

while ( @namen = $sth->fetchrow_array ) {
    print "Vorname: @namen[0]\n";
    print "Nachname: @namen[1]\n";
    print "Strasse: @namen[2]\n";
    print "Ort: @namen[3]\n\n";
  }

Bei SELECT * FROM adressen werden entsprechend _alle_ Felder des Datensatzes zurückgegeben. Generell ist es aber, wie Klaus auch schon sagte, besser, die DB-Feldnamen im SQL-Statement namentlich aufzuführen, sogar wenn du alle Felder des Datensatzes auslesen willst.

Gruß,

kerki