INPUTS
CID,MSISDN,Preference,TYPE,SEVERITY
"9","9596354636","1","A","2"
"9","9596560722","2","A","2"
"9","9596560722","2#3#4","A","2"
"9","9622526453","3","D","2"
####
my $user_sth = $dbh->prepare("insert into user_master (msisdn,cat0,cat1,cat2,cat3,cat4,cat5,cat6,cat7,vip,SAcode,phone_type) values (?,?,?,?,?,?,?,?,?,?,?,?) on duplicate key update ?");
if ( $opty eq "A" )
{
if ( $preference =~ tr/0//) #if preference is 0 make all category as 0
{
$cat{'0'} =1;
$cat{'1'} =0;
$cat{'2'} =0;
$cat{'3'} =0;
$cat{'4'} =0;
$cat{'5'} =0;
$cat{'6'} =0;
$cat{'7'} =0;
$db_update_cmd = "cat0=1"; #,cat1=0,cat2=0,cat3=0,cat4=0,cat5=0,cat6=0,cat7=0";
}
else #or made that category as one in the DB
{
my @all_cat = split(/\#/,$preference);
foreach my $cat (@all_cat)
{
$cat{$cat} = 1;
$db_update_cmd = $db_update_cmd."cat$cat=1,";
}
chop $db_update_cmd;
}
my @db_values = (sprintf('%0d', $cat{'0'}), sprintf('%0d',$cat{'1'}),sprintf('%0d', $cat{'2'}), sprintf('%0d',$cat{'3'}),sprintf('%0d', $cat{'4'}),sprintf('%0d',$cat{'5'}),sprintf('%0d', $cat{'6'}), sprintf('%0d',$cat{'7'}));
$user_sth->execute($msisdn,@db_values,0,$SAC,$phone_type,$db_update_cmd) or die $DBI::errstr;
####
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''cat1=1'' at line 1 at ./dnd_category_management_incremental_provisioning.pl line 208, line 1.