Scott R. Godin writes:
 > the absolute neatest trick I've seen with this, that is so totally 
 > perlish it defies description.. you stare at it for a bit and suddenly 
 > all becomes clear. 
 >  
 >    $sth->execute 
 >         or die("Cannot Execute SQL Statement: ", $sth->errstr(), "\n");
 >         
 >     my $rows = $sth->rows;
 >  # only expecting one row for a unique ID . this should NEVER happen.
 >    safe_error("invalid number of rows returned from database ($rows) for 
 > ID $id")
 >         if $rows > 1;
 > # although this might...
 >     safe_error("no match in database for ID $id")
 >         if $rows < 1;

Be careful here!

Most DBI drivers will return -1 for $sth->rows() for a SELECT query.

In the case of DBD::Sybase $h->rows() will return the correct number
of rows only *after* all the rows have been fetched.

See the DBI docs for details.

Michael
-- 
Michael Peppler - Data Migrations Inc. - http://www.mbay.net/~mpeppler
[EMAIL PROTECTED] - [EMAIL PROTECTED]
International Sybase User Group - http://www.isug.com

Reply via email to