http://www.perlmonks.org?node_id=561408


in reply to Perl and MySQL: Get number of rows affected

If samy_rios answer doesn't do what you want you can use this one:

my $select = "SELECT value FROM table WHERE distinguishing_value = ?"; my $sth = $dbh->prepare($select) or die $dbh->errstr(); $sth->execute() or die $dbh->errstr(); print $sth->rows;
see DBI

Replies are listed 'Best First'.
Re^2: Perl and MySQL: Get number of rows affected
by gellyfish (Monsignor) on Jul 15, 2006 at 08:14 UTC

    This may not work depending on the driver - the DBI manpage says:

    For "SELECT" statements, it is generally not possible to know how many rows will be returned except by fetching them all. Some drivers will return the number of rows the application has fetched so far, but others may return -1 until all rows have been fetched. So use of the "rows" method or $DBI::rows with "SELECT" statements is not recommended.
    I can't find anything in the DBD::mysql documentation that would contradict this.

    /J\