Nebula: MySQL / Perl - Unterschied count(*) und $sth->rows()

Beitrag lesen

moin, moin!

Kennt jemand den Unterschied zwischen diesen Methoden
herauszufinden wieviele Ergebnisse die MySQL Abfrage brachte?

Sollte man eine der beiden bevorzugen oder ist das nur
auf den ersten Blick das selbe und eine der beiden grenzt sich automatisch aus?

  1. my $dbh = DBI->connect('DBI:mysql:database=foobar;host=localhost', 'nebula', 'tonna');
       my $foo = $dbh->selectrow_hashref("SELECT COUNT(*) as count FROM freunde WHERE name LIKE 'A%'");
       print $foo->{'count'}."<br>\n";

  2. my $dbh = DBI->connect('DBI:mysql:database=foobar;host=localhost', 'nebula', 'tonna');

my $sth = $dbh->prepare("select * from freunde where name LIKE 'A%'");
   $sth->execute();

print $sth->rows()."<br>";

Beide Varianten geben die Zahl 3 retour.
3 heißt in dem Fall "3 Ergebnisse gefunden"

Welche der beiden Varianten ist besser oder richtiger
oder was sollte ich dazu wissen?

Es grüßt
Nebula