Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: perl DBI help

by swiftone (Curate)
on Sep 26, 2002 at 20:50 UTC ( #201051=note: print w/ replies, xml ) Need Help??


in reply to perl DBI help

I believe your problem may be here:

sub get_name_and_lookup { my $dbh = shift; my ($sth, $stmt, $hostname, $id, $addr, $ipaddr); $stmt = qq {SELECT * from nt_machines ORDER BY name}; $sth = $dbh->prepare ($stmt); $sth->execute(); while (my $row = $sth->fetchrow_hashref()) { $row->{name} = $hostname; $row->{id} = $id; $addr = (gethostbyname($hostname))[4]; if ($addr) { $ipaddr = join(".", unpack("C4", $addr)); update_item($ipaddr,$id) } $sth->finish(); } }
Note the $sth->finish() call inside the while loop.. That kills (so to speak) the $sth object. Thus, you execute(), call fetchrow_() once, then kill the object, then call fetchrow_ again, and it complains.

Only call finish() if you want to discard the remaining results of an execute(). Since you while() through all the results, you have no need of the call at all in this code.

Hope that helps


Comment on Re: perl DBI help
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2014-09-23 04:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (210 votes), past polls