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 'table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = ' at line 1 at update_tables.cgi line 664.
####
sub update_insert_Record {
warn("522 update_insert_Record");
my $post = $query->param("post");
#UPDATE existing record
if ($post == 0) {
#Fill variables with new update request data (from form)
my $id_1 = $query->param("id");
my $user_id_1 = $query->param("user_id");
my $username_1 = $query->param("username");
my $password_1 = $query->param("password");
my $pin_1 = $query->param("pin");
my $position_1 = $query->param("position");
my $forename_1 = $query->param("forename");
my $lastname_1 = $query->param("lastname");
my $business_1 = $query->param("business");
my $address1_1 = $query->param("address1");
my $address2_1 = $query->param("address2");
my $city_1 = $query->param("city");
my $state_1 = $query->param("state");
my $zip_1 = $query->param("zip");
my $email_1 = $query->param("email");
my $phone_home_1 = $query->param("phone_home");
my $phone_cell_1 = $query->param("phone_cell");
my $comments_1 = $query->param("comments");
my $MJ_1 = $query->param("MJ");
my $MD_1 = $query->param("MD");
my $DD_1 = $query->param("DD");
my $DP_1 = $query->param("DP");
my $newData = {
id => $id_1,
user_id => $user_id_1,
username => $username_1,
password => $password_1,
pin => $pin_1,
position => $position_1,
forename => $forename_1,
lastname => $lastname_1,
business => $business_1,
address1 => $address1_1,
address2 => $address2_1,
city => $city_1,
state => $state_1,
zip => $zip_1,
email => $email_1,
phone_home => $phone_home_1,
phone_cell => $phone_cell_1,
comments => $comments_1,
MJ => $MJ_1,
MD => $MD_1,
DD => $DD_1,
DP => $DP_1
};
#Declare variables to hold current record data
my ($id,$user_id, $username,$password,$pin,$position,$forename,$lastname,$business,$address1,$address2,$city, $state,$zip,$email,$phone_home,$phone_cell,$comments,$MJ,$MD,$DD,$DP);
#Recover existing values from database and fill variables
my $stmt = "SELECT * FROM users WHERE user_id = $user_id_1 ORDER BY user_id ASC";
warn("statement = '$stmt'");
my $sth = $dbh->prepare ($stmt) or die "Error Preparing:\n" . $stmt . "\nDBI returned: \n", $dbh->errstr;
DBI->trace(3,$dbitracelog);
$sth->execute() or die "Unable to execute query: " . $sth->errstr;
$sth->bind_columns (\$id,\$user_id, \$username,\$password ,\$pin ,\$position ,\$forename ,\$lastname ,\$business ,\$address1 ,\$address2 ,\$city, \$state ,\$zip ,\$email ,\$phone_home ,\$phone_cell ,\$comments ,\$MJ ,\$MD ,\$DD ,\$DP);
my $bindResult = $sth->fetchrow_array();
my $oldData = {
id => $id,
user_id => $user_id,
username => $username,
password => $password,
pin => $pin,
position => $position,
forename => $forename,
lastname => $lastname,
business => $business,
address1 => $address1,
address2 => $address2,
city => $city,
state => $state,
zip => $zip,
email => $email,
phone_home => $phone_home,
phone_cell => $phone_cell,
comments => $comments,
MJ => $MJ,
MD => $MD,
DD => $DD,
DP => $DP
};
my @fields;
my @values;
# compare old v new
for (sort keys %$newData){
if ($newData->{$_} ne $oldData->{$_}){
push @fields,"$_ = ?";
push @values,$newData->{$_};
}
}
# skip if no change
if (@fields == 0){
print "No update required\n";
}
else {
# build sql
my $fields = join ',',@fields;
my $stmt = "UPDATE table SET $fields WHERE user_id = ?";
#add id
push @values,$user_id;
warn("statement = '$stmt'");
# prepare and execute sql
# print "$stmt\n(@values)\n";
$sth = $dbh->prepare ($stmt) or die "Error Preparing:\n" . $stmt . "\nDBI returned: \n", $dbh->errstr;
$sth->execute() or die "Unable to execute query: " . $sth->errstr;
return;
}
}
####
DBI Trace log
DBI 1.640-ithread default trace level set to 0x0/3 (pid 27298 pi 1c5c010) at update_tables.cgi line 601 via update_tables.cgi line 184
-> execute for DBD::mysql::st (DBI::st=HASH(0x25c0480)~0x2981b48) thr#1c5c010
-> dbd_st_execute for 297fa00
>- dbd_st_free_result_sets
<- dbd_st_free_result_sets RC -1
<- dbd_st_free_result_sets
mysql_st_internal_execute MYSQL_VERSION_ID 50558
>parse_params statement SELECT * FROM users WHERE user_id = 23 ORDER BY user_id ASC
<- dbd_st_execute returning imp_sth->row_num 1
<- execute= 1 at update_tables.cgi line 603 via at update_tables.cgi line 184
-> bind_columns for DBD::mysql::st (DBI::st=HASH(0x25c0480)~0x2981b48 SCALAR(0x2721588) SCALAR(0x27215b8) SCALAR(0x27215e8) SCALAR(0x2721618) SCALAR(0x2721648) SCALAR(0x2721678) SCALAR(0x27216a8) SCALAR(0x27216d8) SCALAR(0x2721708) SCALAR(0x2721738) SCALAR(0x2721768) SCALAR(0x2721798) SCALAR(0x27217c8) SCALAR(0x27217f8) SCALAR(0x2721828) SCALAR(0x2721858) SCALAR(0x2721888) SCALAR(0x27218b8) SCALAR(0x27218e8) SCALAR(0x2721918) SCALAR(0x2721948) SCALAR(0x2721978)) thr#1c5c010
1 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
-> dbd_st_FETCH_attrib for 26119d0, key NUM_OF_FIELDS
.. FETCH DBI::st=HASH(0x2981b48) 'NUM_OF_FIELDS' = 22 (cached)
1 <- FETCH= 22 at DBI.pm line 1906 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
2 <- _async_check= 1 at mysql.pm line 879 via at update_tables.cgi line 605
1 <- bind_col= 1 at DBI.pm line 1917 via at update_tables.cgi line 184
<- bind_columns= 1 at update_tables.cgi line 605 via at update_tables.cgi line 184
-> fetchrow_array for DBD::mysql::st (DBI::st=HASH(0x25c0480)~0x2981b48) thr#1c5c010
-> dbd_st_fetch
dbd_st_fetch for 297fa00, chopblanks 0
dbd_st_fetch result set details
imp_sth->result=29392a0
mysql_num_fields=22
mysql_num_rows=1
mysql_affected_rows=1
dbd_st_fetch for 297fa00, currow= 1
<- dbd_st_fetch, 22 cols
<- fetchrow_array= '1972-10-03' row1 at update_tables.cgi line 608 via at update_tables.cgi line 184
-> prepare for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630 'UPDATE table SET forename = ?,lastname = ?,password = ?,pin = ?,position = ? WHERE user_id = ?') thr#1c5c010
1 <- _async_check= 1 at mysql.pm line 240 via at update_tables.cgi line 662
-> dbd_st_prepare MYSQL_VERSION_ID 50558, SQL statement: UPDATE table SET forename = ?,lastname = ?,password = ?,pin = ?,position = ? WHERE user_id = ?
>- dbd_st_free_result_sets
<- dbd_st_free_result_sets RC -1
<- dbd_st_free_result_sets
>count_params statement UPDATE table SET forename = ?,lastname = ?,password = ?,pin = ?,position = ? WHERE user_id = ?
<- dbd_st_prepare
<- prepare= DBI::st=HASH(0x297f940) at update_tables.cgi line 662 via at update_tables.cgi line 184
<> DESTROY(DBI::st=HASH(0x25c0480)) ignored for outer handle (inner DBI::st=HASH(0x2981b48) has ref cnt 1)
-> DESTROY for DBD::mysql::st (DBI::st=HASH(0x2981b48)~INNER) thr#1c5c010
--> dbd_st_finish
>- dbd_st_free_result_sets
<- dbd_st_free_result_sets RC -1
<- dbd_st_free_result_sets
<-- dbd_st_finish
<- DESTROY= undef at update_tables.cgi line 664 via at update_tables.cgi line 664
-> execute for DBD::mysql::st (DBI::st=HASH(0x297f940)~0x29823e8) thr#1c5c010
-> dbd_st_execute for 2981ea8
>- dbd_st_free_result_sets
<- dbd_st_free_result_sets RC -1
<- dbd_st_free_result_sets
mysql_st_internal_execute MYSQL_VERSION_ID 50558
>parse_params statement UPDATE table SET forename = ?,lastname = ?,password = ?,pin = ?,position = ? WHERE user_id = ?
Binding parameters: UPDATE table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = NULL WHERE user_id = NULL
--> do_error
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 'table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = ' at line 1 error 1064 recorded: 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 'table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = ' at line 1
<-- do_error
IGNORING ERROR errno 1064
<- dbd_st_execute returning imp_sth->row_num 18446744073709551614
!! ERROR: 1064 '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 'table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = ' at line 1' (err#0)
<- execute= undef at update_tables.cgi line 664 via at update_tables.cgi line 184
<> DESTROY(DBI::st=HASH(0x297f940)) ignored for outer handle (inner DBI::st=HASH(0x29823e8) has ref cnt 1)
-> DESTROY for DBD::mysql::st (DBI::st=HASH(0x29823e8)~INNER) thr#1c5c010
Freeing 6 parameters, bind 0 fbind 0
ERROR: 1064 '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 'table SET forename = NULL,lastname = NULL,password = NULL,pin = NULL,position = ' at line 1' (err#0)
<- DESTROY= undef at update_tables.cgi line 664 via at update_tables.cgi line 664
!! The ERROR '1064' was CLEARED by call to do method
-> do for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630 'INSERT INTO sessions (id, a_session) VALUES(?, ?) ON DUPLICATE KEY UPDATE a_session = ?' undef 'e220ca233bcc2555ed2e6ca7ac75e8bc' '$D = {'_SESSION_ID' => 'e220ca233bcc2555ed2e6ca7ac75e8bc','_SESSION_ATIME' => 1521989277,'user_id' => 15000,'_SESSION_REMOTE_ADDR' => '72.168.128.150','_SESSION_CTIME' => 1521989277};;$D' '$D = {'_SESSION_ID' => 'e220ca233bcc2555ed2e6ca7ac75e8bc','_SESSION_ATIME' => 1521989277,'user_id' => 15000,'_SESSION_REMOTE_ADDR' => '72.168.128.150','_SESSION_CTIME' => 1521989277};;$D') thr#1c5c010
mysql.xs do() use_server_side_prepare 0, async 0
mysql_st_internal_execute MYSQL_VERSION_ID 50558
>parse_params statement INSERT INTO sessions (id, a_session) VALUES(?, ?) ON DUPLICATE KEY UPDATE a_session = ?
Binding parameters: INSERT INTO sessions (id, a_session) VALUES('e220ca233bcc2555ed2e6ca7ac75e8bc', '$D = {\'_SESSION_ID\' => \'e220ca233bcc2555ed2e6ca7ac75e8bc\',\'_SESSION_ATIME\' => 1521989277,\'user_id\' => 15000,\'_SESSION_REMOTE_ADDR\' => \'72.168.128.150\',\'_SESSION_CTIME\' => 1521989277};;$D') ON DUPLICATE KEY UPDATE a_session = '$D = {\'_SESSION_ID\' => \'e220ca233bcc2555ed2e6ca7ac75e8bc\',\'_SESSION_ATIME\' => 1521989277,\'user_id\' => 15000,\'_SESSION_REMOTE_ADDR\' => \'72.168.128.150\',\'_SESSION_CTIME\' => 1521989277};;$D'
<- do= 1 at mysql.pm line 50 via at Session.pm line 251
-> ping for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630) thr#1c5c010
<- ping= 1 at DBI.pm line 136 via at update_tables.cgi line 664
-> FETCH for DBD::mysql::db (DBI::db=HASH(0x276c630)~INNER 'AutoCommit') thr#1c5c010
<- FETCH= '' at DBI.pm line 141 via at update_tables.cgi line 664
-> commit for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630) thr#1c5c010
<- commit= 1 at DBI.pm line 141 via at update_tables.cgi line 664
-- DBI::END ($@: , $!: )
-> disconnect_all for DBD::mysql::dr (DBI::dr=HASH(0x2759650)~0x21433a8) thr#1c5c010
<- disconnect_all= (not implemented) at DBI.pm line 756 via at update_tables.cgi line 664
! <> DESTROY(DBI::st=HASH(0x297f3a0)) ignored for outer handle (inner DBI::st=HASH(0x297f220) has ref cnt 1)
! -> DESTROY for DBD::mysql::st (DBI::st=HASH(0x297f220)~INNER) thr#1c5c010
Freeing 1 parameters, bind 0 fbind 0
! <- DESTROY= undef during global destruction
! -> ping for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630) thr#1c5c010
! <- ping= 1 at DBI.pm line 136 via at update_tables.cgi line 0 during global destruction
! -> FETCH for DBD::mysql::db (DBI::db=HASH(0x276c630)~INNER 'AutoCommit') thr#1c5c010
! <- FETCH= '' at DBI.pm line 141 via at update_tables.cgi line 0 during global destruction
! -> commit for DBD::mysql::db (DBI::db=HASH(0x276c828)~0x276c630) thr#1c5c010
! <- commit= 1 at DBI.pm line 141 via at update_tables.cgi line 0 during global destruction
! -> DESTROY in DBD::_::common for DBD::mysql::dr (DBI::dr=HASH(0x21433a8)~INNER) thr#1c5c010
! <- DESTROY= undef during global destruction
>> DESTROY DBI::db=HASH(0x276c630) clearing 1 CachedKids
! -> DESTROY for DBD::mysql::db (DBI::db=HASH(0x276c630)~INNER) thr#1c5c010
imp_dbh->pmysql: 275aa30
! <- DESTROY= undef during global destruction
! <> DESTROY for DBI::dr=HASH(0x2759650) ignored (inner handle gone)
-> DBI->connect(, , ****, HASH(0x250fe20))
! <> DESTROY for DBI::db=HASH(0x276c828) ignored (inner handle gone)