http://qs321.pair.com?node_id=874790


in reply to Flexible Update SQL

Look up "sql place holder". The query should really be written with placeholders similar to the following:

my $sql = "UPDATE table SET phone = ?, city = ?"

Peter (Guo) Pei

Replies are listed 'Best First'.
Re^2: Flexible Update SQL
by bichonfrise74 (Vicar) on Dec 02, 2010 at 01:14 UTC
    But this does not solve the problems:
  • passing null parameters...
  • placement of the comma...

      bichonfrise74:

      Actually, placeholders *do* handle the null parameter. Constructing the update statement can do the rest...

      my @fields = qw(name phone city country); my $SQL = "update table set " . join(", ", map { "$_=?" } @fields) . "where ...."; my $ST=$DB->prepare($SQL); while (...) { my @values = (.....); $ST->execute(@values); }

      ...roboticus

      When your only tool is a hammer, all problems look like your thumb.