Cliff wrote:
> Has anyone seen this error before? I am trying to track it down and fix it,
> but I am still quite new to all this. Any advice welcome.
> Error returned:-
> $h->rows count is incomplete before all rows fetched.
Have you read "perldoc DBI"?
`rows'
$rv = $sth->rows;
Returns the number of rows affected by the last row
affecting command, or -1 if the number of rows is not
known or not available.
Generally, you can only rely on a row count after a
non-`SELECT' `execute' (for some specific operations
like `UPDATE' and `DELETE'), or after fetching all the
rows of a `SELECT' statement.
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.
One alternative method to get a row count for a `SELECT'
is to execute a "SELECT COUNT(*) FROM ..." SQL statement
with the same "..." as your query and then fetch the row
count from that.
Or you can fetch and count the results yourself.