princepawn has asked for the wisdom of the Perl Monks concerning the following question:
and have it $sth->execute(@ARGV)select city, date from weather where temp_lo < ?
but I am able to get DBI to force an instructive error message when I forget to supply command-line arguments. Instead I get
Database handle destroyed without explicit disconnect, <A> line 1.
Here is my program:
use DBI; use strict; open A, 'abstract.sql' or die 'cannot open abstract.sql'; my $sql = join '', <A>; my $connect = 'dbi:Pg:dbname=mydb'; my $dbh = DBI->connect($connect,'postgres','take_a_guess_pal', { RaiseError => 1, PrintError => 1 } ); my $sth = $dbh->prepare($sql); $sth->execute(@ARGV); ### SHOULD THROW ERROR WHEN NO ARGS, YET ### QUERY HAS PLACEHOL +DER VALUES?? HOW TO FIX? warn "ROWS ", $sth->rows; use Data::Dumper; open T, '>testexec.out' or die 'cannot create output file'; while (my $rec = $sth->fetchrow_hashref) { print Dumper($rec); }
|
|---|