hi!
my $dbh = ...
my $sth = $dbh->prepare('select * from TABLE where A="abc" and B="123"');
$sth->execute();Ich möchte jetzt wissen, was Perl mir als Ergebnis zurückliefert.
Z.B. ob das Ergebnis leer ist, also ob "select" eine leere Menge
zurueckgeliefert hat, und wenn nicht, mit welchem Befehl kann ich
an das Ergebnis herankommen?
while (my @data = $sth->fetchrow_array)
{
print "Spalte 1: $data[0], Spalte 2: $data[1], ...";
}
Bei dieser Methode musst du natürlich wissen, in welcher Reihenfolge du die Spalten deiner Tabelle ausgeben lässt, aber das kannst du ja im SELECT-Statement mit angeben: SELECT Spalte3, Spalte5, Spalte1 FROM tabelle.
Statt fetchrow_array kannst du auch noch fetchrow_arrayref und fetchrow_hashref verwenden, die beide eine Referenz zurückgeben, und zwar auf einen Hash oder ein Array. Ich bin mir jetzt nicht ganz sicher, wie das funktioniert. Ungefähr so:
while (my $data = $sth->fetchrow_hashref) { ... }
Jedes $data ist dann eine Referenz auf ein Hash. Um das Hash auszulesen musst du mal in der Perl-Dokumentation die Stellen zur Dereferenzierung durchlesen, kenne ich jetzt nicht auswendig.
bye, Frank!