http://qs321.pair.com?node_id=140466

peppiv has asked for the wisdom of the Perl Monks concerning the following question:

I have a mysql database on our Web server. If I run mysqladmin (via telnet) I can query the database and everything works fine. I run this exact SELECT statement and it returns 189 records.

As I try to do this in Perl, I come across a statement I don't understand.

Here's the code and error:

#!/usr/bin/perl -w use strict; use DBI; use CGI::Carp qw(fatalsToBrowser); use CGI qw (:standard); print "Content-type: text/html\n\n"; my $dbh = DBI->connect(qq{DBI:mysql:f_dir=/usr/local//subscriptio +ns}, {RaiseError => 1} ); my $sth = $dbh->prepare( q{SELECT email FROM contacts WHERE state + = ?} ); my $rc = $sth->execute('OH'); print "Query will return $sth->{NUM_OF_FIELDS} fields.\n\n"; while (my @result = $sth->fetchrow_array()) { print "@result\n"; } # check for problems which may have terminated the fetch early die $sth->errstr if $sth->err; $dbh->disconnect;

fetch() without execute() at /usr/local/cgi-bin/DBI_mysql_01.pl line 20.(the line that checks for problems which may have terminated the fetch early).

I have DBI installed. DBD::mysql installed.

I can't find this problem in any docs. Can someone please give it a glance and tell me the obvious?

Super thanks -
peppiv

"Put zee candle back!"