http://www.perlmonks.org?node_id=305484

indapa has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I am new to DBI and tried reading the docs on this, but I can't seem to figure out where my syntax error is. I want to remove a row from a PostgreSQL database based on a key I am parsing from an XML file. The snippet below.
# connect to mesh db my $dbh = DBI->connect( "dbi:Pg:dbname=foobar", "foo") || die "couldn't open db \n"; # prepare statement, $dtable is the table name I am passing in as a pa +rameter my $rm = $dbh->prepare("DELETE FROM $dtable (pubmed_ui) VALUES (?)"); # when I parse from xml file my $pmid = ($root->descendants('PMID'))[0]->text; print "PMID: $pmid\n"; $rm->execute($pmid);
I get the following error when I run it.
DBD::Pg::st execute failed: ERROR: parser: parse error at or near "(" + at character 20 at ../../bin/remove_disease.pl line 55. # line 55 is my execute statement but I think my syntax is wrong in my + prepare statement
Any ideas what I'm doing wrong? Thanks for the help.