Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Odd Database Behavior

by tcf22 (Priest)
on Dec 15, 2003 at 17:06 UTC ( [id://314849]=note: print w/replies, xml ) Need Help??


in reply to Odd Database Behavior

If you are doing a SELECT COUNT(*), why are you using the rows() method. Just look at the query results.

UPDATE: Added code
my @row = $Statement->fetchrow_array; if ($row[0] > 0) { LogError("NICK_TAKEN"); return("-1"); }


Also, rows() doesn't always work when used with select statements.
From CPAN...
$rv = $sth->rows; Returns the number of rows affected by the last row affecting comm +and, 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 exe +cute (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 ma +ny rows will be returned except by fetching them all. Some drivers wi +ll 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 execu +te a "SELECT COUNT(*) FROM ..." SQL statement with the same "..." as +your query and then fetch the row count from that.

- Tom

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://314849]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (6)
As of 2024-04-18 07:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found