4 Stimmen

SQLite3 von Perl: {NAME} funktioniert nicht?

Hier ist ein Codeschnipsel aus einer Sqlite-Datenbankanwendung, an der ich gerade arbeite:

my $query = "select * from pins";
my $sth = $dbh->prepare($query) or die "Couldn't prep: $DBI::errstr";
$sth->execute or die "Exec problem: $DBI::errstr";
my $result = $sth->fetchall_arrayref();
my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";
foreach my $row (@$res) {
    # ... do some row-specific things
    foreach my $cell (@$row) {
        # ... do some cell-specific things
    }
}

Die Abfrage funktioniert einwandfrei und liefert tatsächlich die richtigen Ergebnisse. Doch aus irgendeinem Grund, diese Zeile,

my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";

Scheitert. {NAME} gibt nie die Arrayref zurück, die ich erwarten würde. Wenn ich die die-Klausel herausnehmen, läuft es gut (werfen die erwartete "mit nicht initialisierten Werte" Warnung, wo immer ich $names, natürlich verwenden).

Gibt es einen offensichtlichen Grund, den ich übersehe, dass {NAME} nicht ausgelöst wurde, da die Abfrage problemlos funktionierte?

Danke!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X