###idiosyncratic paranoid method wherein I prepare everything. my $sth = $dbh->prepare("UPDATE mytable SET value1=?, value2=? WHERE id=?") || die $dbh->errstr; my $update_success = $sth->execute($val1,$val2,$id) || die $sth->errstr; ###non paranoid method cleaner as well. my $update_success = $dbh->do("UPDATE mytable SET value1='$val1', value2='$val2' WHERE id=$id") || die $dbh->errstr;