tried with explicit binds.. got this message:
[Thu Aug 18 19:27:15 2011] [error] [client 75.197.246.254] Can't bind unknown placeholder '

1' (1) at ..................../update.pl line 73
seems like there's a construction error, but the statement looks clean... here's the code snip with the explicit binds...
while ($i < 9) {
print 'loop';
$temp = eval('$sub'.$i);
if ($temp) {
@str1 = split("/", $temp);
print 'exists';
$temp1 = ("$FORM{subcnt.$i.h}");
$temp2 = ("$FORM{subcnt.$i.w}");
$temp3 = ("$temp1"."/"."$temp2"."/"."$str1[2]");
$temp4 = ("SUB$i");
$sth01 = '("update menus_completed set ';
$sth02= ' = ? where rsvp_code = ?") || die $odbrmh::dbh->errstr;';
$sth03 = ("$sth01"."$temp4"."$sth02");
my $sth = $odbrmh::dbh->prepare("$sth03");
$sth->bind_param(1, $temp3 );
$sth->bind_param(2, $FORM{pcode} );
$sth->execute() || die $sth->errstr;
print 'upd';
} # subs
$i++;
}