I always do that unless I am overly confident. Seriously, I do test them.
Speaking of SQL: Statement below in "=for comment" tests fine. The error messages when I execute within program say otherwise.
I can't see the problem.
$stmt = "insert into users (user_id,username,password,pin,pos
+ition,forename,lastname,business,address1,address2,city,state,zip, em
+ail, phone_home, phone_cell, MJ, MD, DD, DP, comments) values ((SELEC
+T AUTO_INCREMENT FROMinformation_schema.TABLES WHERE TABLE_SCHEMA=DAT
+ABASE() AND TABLE_NAME='users'),CONCAT('bwm', (SELECT AUTO_INCREMENT
+FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE()ANDTABLE_
+NAME='users')), ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
my $sth = $dbh->prepare ($stmt) or die "Error Preparing:\n" . $
+stmt . "\nDBI returned: \n", $dbh->errstr;
$value = $sth->execute ($password, $pin, $position, $forename, $
+lastname, $business, $address1, $address2, $city, $state, $zip, $emai
+l, $phone_home, $phone_cell, $MJ, $MD, $DD, $DP, $comments) or die "U
+nable to execute query: " . $sth->errstr;
my $new_id = $sth->{'mysql_insertid'};
=for comment
insert into users (user_id, username,password,pin,position, fore
+name,lastname,business, address1, address2,city,state,zip, email ,pho
+ne_home, phone_cell,MJ,MD,DD,DP, comments) values ( (SELECT AUTO_INCR
+EMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AN
+D TABLE_NAME='users'), CONCAT('bwm', (SELECT AUTO_INCREMENT FROM info
+rmation_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='u
+sers')), 'vmmv', 'BbwmB','3', 'Lucifer','Jackson','BWMLLC', '1610 W U
+dall St','Apt 1', 'Jasonville','UT','87167','dingy@yahoo.com','(203)
+418-5467','(203) 245-4567','2017-01-31','120.00', '2018-03-21','2019-
+03-20','Blah Blah')
=cut
|