Sorry, not enough coffee this morning, I forgot to use the DBD's quote,
dub^9.
package MyDbi;
use base 'DBI';
package MyDbi::db;
use base 'DBI::db';
sub prepare {
my($self,@connect_args) = @_;
return bless $self->SUPER::prepare(@connect_args), 'MyDbi::st';
}
package MyDbi::st;
use base 'DBI::st';
sub execute {
my($sth,@binds)[EMAIL PROTECTED];
my $rv;
eval { $rv = $sth->SUPER::execute(@binds) };
return $rv unless $@;
my $stmt = $sth->{Statement};
my $class = 'DBD::' . $sth->{Database}->{Driver}->{Name} . '::db';
for my $b(@binds) {
$b = $class->quote($b) if defined $b and
!DBI::looks_like_number($b);
$b = q{NULL} unless defined $b;
$stmt =~ s/\?/$b/;
}
die sprintf "Execution Error: %sReconstructed SQL = %s\n"
, $sth->errstr, $stmt;
}
1;
__END__