Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: I need to tell what I pulled from SQL

by ichimunki (Priest)
on Jul 22, 2002 at 16:49 UTC ( #184123=note: print w/ replies, xml ) Need Help??


in reply to I need to tell what I pulled from SQL

You could use the DBI method fetchall_arrayref() and then count elements. There is also a rows() method, but I hear this is not reliable. perldoc DBI is a good place for more info about these methods.

But depending on *why* you need to know how many rows are returned, the best solution may not be in Perl or DBI but in your database. You should either consider using SQL statements like "select count(*) from poll where ..." and checking that the count is one, or consider building your table keys (using uniqueness) so that the criteria of this sort of SQL statement can return only one row.


Comment on Re: I need to tell what I pulled from SQL
Download Code
Re: Re: I need to tell what I pulled from SQL
by BorgCopyeditor (Friar) on Jul 22, 2002 at 18:18 UTC

    I was just going to jump in and suggest $sth->rows, but now your comment has given me pause. Can you say more about this method's "unreliability"?

    Thanks,

    BCE
    --Your punctuation skills are insufficient!

      The problems with this method are documented in 'perldoc DBI'. It is probably more reliable than I would be, but to sum it up, $sth->rows is mostly for do() commands like INSERT, DELETE, etc, so that you know how many rows were affected (as those queries don't really have any other results). I also suspect that DBI functionality, although it is supposed to provide a uniform interface, can vary somewhat based on which type of server is used. There might be a MySQL-specific answer to this question, but it probably wouldn't be very portable-- besides, doing COUNT(*) or simply fetching all the data (since, in this case, only a single row seems to be expected), is just going to be quicker than any other solution.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2014-07-10 09:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (203 votes), past polls