cormanaz has asked for the wisdom of the Perl Monks concerning the following question:
This has worked fine for me for some time, but lately I have encountered situations where when I execute the sub, the whole Perl script containing it goes directly to exit, no error message, nothing--just ends. I have determined in one case this happened when one of the values that was supposed to be in @values was null.sub insertsql { my ($dbh,$table,$data) = @_; my @qm; my @keys; my @values; my $i = -1; foreach my $k (keys %$data) { $i++; $keys[$i] = $k; $values[$i] = $data->{$k}; $qm[$i] = '?'; } my $keylist = join(",",@keys); my $qlist = join(",",@qm); my $sqlstatement = "insert into $table ($keylist) values ($qlist)" +; my $sth = $dbh->prepare($sqlstatement); $sth->execute(@values) || die "Could not execute MySQL statement: +$sqlstatement"; $sth->finish(); return $dbh->{'mysql_insertid'}; }
But my question is, why does it just stop rather than DIEing on the $sth->execute method and giving me the specified error message? That would make it a whole lot easier to find and correct the offending input. Have I not set it up right somehow?
TIA...Steve
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: DBI sudden exit on MySQL insert
by TOD (Friar) on Apr 19, 2007 at 01:42 UTC | |
by cormanaz (Deacon) on Apr 19, 2007 at 15:21 UTC | |
|
Re: DBI sudden exit on MySQL insert
by SheridanCat (Pilgrim) on Apr 19, 2007 at 15:17 UTC | |
by cormanaz (Deacon) on Apr 19, 2007 at 15:25 UTC | |
|
Re: DBI sudden exit on MySQL insert
by mreece (Friar) on Apr 19, 2007 at 16:54 UTC | |
|
Re: DBI sudden exit on MySQL insert
by rhesa (Vicar) on Apr 19, 2007 at 18:53 UTC | |
by cormanaz (Deacon) on Apr 19, 2007 at 23:31 UTC | |
|
Re: DBI sudden exit on MySQL insert
by Anonymous Monk on Mar 12, 2014 at 20:39 UTC |