I'm currently working on a part of programme designed to update a form which we are updating the Perl. However the person who started this update has left the company and I'm a novice at Perl (at the moment).
There are two arrays set up with the form fields and map to some of the database columns in MySQL.
my (@ffs) =("txtName", "txtCreated","txtDateren","txtOldname","txtDel" +); my (%cols) = ("txtName"=>"Listname", "txtCreated"=>"DateCreated","txtD +ateren"=>"DateRenamed", "txtOldname"=>"OldListname","txtDel"=>"DateDeleted");
In the add and amend routines, we are try loop through the fields, define the non-empty ones and put them into a variable which is then placed inside the relevant spot in the SQL query to be passed to the db.
foreach(@ffs) { if($fd{$_} eq ""){ $updatestring = "$updatestring,[$cols{$_}] = NULL"; } else{ $updatestring = "$updatestring,[$cols{$_}] = \'$fd{$_}\'"; } }
SQL statement:
my $sth = $db->prepare("UPDATE table SET $updatestring WHERE tbl.field + = '$lname'");
I have tested the SQL directly on the database and this is working but the $updatestring doesn't seem to be reaching the db at all.
I suspect that I have set up the foreach loop incorrectly so that the SQL is not seeing the correct parts of the form.
I'd be very grateful for some pointers in the right direction.
Thanks.
Edit: g0n - code tags and formatting
In reply to Looping an array and placing into SQL by Quicksilver
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |