in reply to DBI dots

It works for me:
my $sth = $dbh->prepare('INSERT INTO scratch SET text = ?'); $sth->execute('hello.world'); $sth->finish();
The result is that my scratch table had a new row with 'hello.world' in it.

Otherwise, you might want to examine $DBI::errstr or set the RaiseError flags in the DBI constructor.