Gå til innhold

problemer å print count statement fra sql


Anbefalte innlegg

Er det noen som aner hvordan man kan printe en count() statement i perl?

 

$sth = $dbh->prepare("select count(id) from tabellnavn");
$sth->execute();
$result = $sth->fetchrow_hashref();
print $result->{count(id)}   # <--- det funker ikke ....

 

resultatet av spørringen ser slik ut:

 

+-----------+

| count(id) |

+-----------+

| 1391210 |

+-----------+

 

Hvordan får jeg det inn til en scalar? Any idea?

 

Thanks,

Prebs

Lenke til kommentar
Videoannonse
Annonse
Jeg har aldri brukt SQL i Perl, men bare for å fjerne en potensiell feilkilde kan du kjøre "COUNT(*) AS count" i stedet for "count(id)".

print $result->{count};

 

Det gjør at du ikke trenger å ha brackets på neste linje og * vil trolig gjøre spørringen raskere.

 

 

You ledgen!! Jeg ante ikke man kunne lage cusom label. Nice. Takk for hjelpen

Lenke til kommentar
husk at tallet ligger i hash-ref'en, det er bare vanskelig å vite hva som er key. du kan likevel finne den med

 

print values %$reuslt; # vil gi en liste med en verdi

 

eller bruke fetchrow_array eller fetchrow_arrayref til å begynne med

 

ohh.. var ikke klar over at det kunne gjøres så lett! Takk for tipset. Har tidligere brukt Datadumper modulen..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...