简体   繁体   中英

php form and mysql not inserting

I'm having issues with getting data from my php form into my mysql database. I'm using mysqli by preparing the inputs, binding them and then executing.

I get no error when I submit the form. If I intentionally put an error into the prepare statement, such as mis-spelling "INERT INTO table..." then submit the form, an error does display. If I put an additional string or integer value into the bind_param, it doesn't error and if I put an additional variable or mis-spell a variable into the bind, it also doesn't error. I can't for the life of me figure out what's going wrong! I've counted the number of prepared values versus the number of bound values and variables and the count matches.

Below is the input form that is being executed when submitting the form:

<?php
//set database connection parameters
$hostname = 'localhost:3307'; // usually is localhost
$db_user = 'test'; // change to your database username
$db_password = 'test'; // change to your database password 
$database = 'test'; // provide your database name 


//database connection
$db = new mysqli($hostname, $db_user, $db_password, $database);
if(mysqli_connect_errno())
{
    printf("Unable to connect to database: %s\n", mysqli_connect_error());
    exit();
}

//Prepare prerequisites
        $created = date("d-m-Y H:i:s");
        $ip = $_SERVER['REMOTE_ADDR'];

if (isset($_POST['submit']))                                                           
    {                                                                                    
    $element_1                 =htmlentities($_POST['element_1          '], ENT_QUOTES); 
    $element_2                 =htmlentities($_POST['element_2          '], ENT_QUOTES); 
    $element_3                 =htmlentities($_POST['element_3          '], ENT_QUOTES); 
    $MonTownFrom               =htmlentities($_POST['MonTownFrom        '], ENT_QUOTES); 
    $MonPostcodeFrom           =htmlentities($_POST['MonPostcodeFrom    '], ENT_QUOTES); 
    $MonTownTo                 =htmlentities($_POST['MonTownTo          '], ENT_QUOTES); 
    $MonPostcodeTo             =htmlentities($_POST['MonPostcodeTo      '], ENT_QUOTES); 
    $MonMiles                  =htmlentities($_POST['MonMiles           '], ENT_QUOTES); 
    $TueTownFrom               =htmlentities($_POST['TueTownFrom        '], ENT_QUOTES); 
    $TuePostcodeFrom           =htmlentities($_POST['TuePostcodeFrom    '], ENT_QUOTES); 
    $TueTownTo                 =htmlentities($_POST['TueTownTo          '], ENT_QUOTES); 
    $TuePostcodeTo             =htmlentities($_POST['TuePostcodeTo      '], ENT_QUOTES); 
    $TueMiles                  =htmlentities($_POST['TueMiles           '], ENT_QUOTES); 
    $WedTownFrom               =htmlentities($_POST['WedTownFrom        '], ENT_QUOTES); 
    $WedPostcodeFrom           =htmlentities($_POST['WedPostcodeFrom    '], ENT_QUOTES); 
    $WedTownTo                 =htmlentities($_POST['WedTownTo          '], ENT_QUOTES); 
    $WedPostcodeTo             =htmlentities($_POST['WedPostcodeTo      '], ENT_QUOTES); 
    $WedMiles                  =htmlentities($_POST['WedMiles           '], ENT_QUOTES); 
    $ThuTownFrom               =htmlentities($_POST['ThuTownFrom        '], ENT_QUOTES); 
    $ThuPostcodeFrom           =htmlentities($_POST['ThuPostcodeFrom    '], ENT_QUOTES); 
    $ThuTownTo                 =htmlentities($_POST['ThuTownTo          '], ENT_QUOTES); 
    $ThuPostcodeTo             =htmlentities($_POST['ThuPostcodeTo      '], ENT_QUOTES); 
    $ThuMiles                  =htmlentities($_POST['ThuMiles           '], ENT_QUOTES); 
    $FriTownFrom               =htmlentities($_POST['FriTownFrom        '], ENT_QUOTES); 
    $FriPostcodeFrom           =htmlentities($_POST['FriPostcodeFrom    '], ENT_QUOTES); 
    $FriTownTo                 =htmlentities($_POST['FriTownTo          '], ENT_QUOTES); 
    $FriPostcodeTo             =htmlentities($_POST['FriPostcodeTo      '], ENT_QUOTES); 
    $FriMiles                  =htmlentities($_POST['FriMiles           '], ENT_QUOTES); 
    $SatTownFrom               =htmlentities($_POST['SatTownFrom        '], ENT_QUOTES); 
    $SatPostcodeFrom           =htmlentities($_POST['SatPostcodeFrom    '], ENT_QUOTES); 
    $SatTownTo                 =htmlentities($_POST['SatTownTo          '], ENT_QUOTES); 
    $SatPostcodeTo             =htmlentities($_POST['SatPostcodeTo      '], ENT_QUOTES); 
    $SatMiles                  =htmlentities($_POST['SatMiles           '], ENT_QUOTES); 
    $SunTownFrom               =htmlentities($_POST['SunTownFrom        '], ENT_QUOTES); 
    $SunPostcodeFrom           =htmlentities($_POST['SunPostcodeFrom    '], ENT_QUOTES); 
    $SunTownTo                 =htmlentities($_POST['SunTownTo          '], ENT_QUOTES); 
    $SunPostcodeTo             =htmlentities($_POST['SunPostcodeTo      '], ENT_QUOTES); 
    $SunMiles                  =htmlentities($_POST['SunMiles           '], ENT_QUOTES); 
    $SumMiles                  =htmlentities($_POST['SumMiles           '], ENT_QUOTES); 
    $MonCheck                  =htmlentities($_POST['MonCheck           '], ENT_QUOTES); 
    $TueCheck                  =htmlentities($_POST['TueCheck           '], ENT_QUOTES); 
    $WedCheck                  =htmlentities($_POST['WedCheck           '], ENT_QUOTES); 
    $ThuCheck                  =htmlentities($_POST['ThuCheck           '], ENT_QUOTES); 
    $FriCheck                  =htmlentities($_POST['FriCheck           '], ENT_QUOTES); 
    $SatCheck                  =htmlentities($_POST['SatCheck           '], ENT_QUOTES); 
    $SunCheck                  =htmlentities($_POST['SunCheck           '], ENT_QUOTES); 
    $MonHours                  =htmlentities($_POST['MonHours           '], ENT_QUOTES); 
    $TueHours                  =htmlentities($_POST['TueHours           '], ENT_QUOTES); 
    $WedHours                  =htmlentities($_POST['WedHours           '], ENT_QUOTES); 
    $ThuHours                  =htmlentities($_POST['ThuHours           '], ENT_QUOTES); 
    $FriHours                  =htmlentities($_POST['FriHours           '], ENT_QUOTES); 
    $SatHours                  =htmlentities($_POST['SatHours           '], ENT_QUOTES); 
    $SunHours                  =htmlentities($_POST['SunHours           '], ENT_QUOTES); 
    $SumHours                  =htmlentities($_POST['SumHours           '], ENT_QUOTES); 
    $MonTravel                 =htmlentities($_POST['MonTravel          '], ENT_QUOTES); 
    $TueTravel                 =htmlentities($_POST['TueTravel          '], ENT_QUOTES); 
    $WedTravel                 =htmlentities($_POST['WedTravel          '], ENT_QUOTES); 
    $ThuTravel                 =htmlentities($_POST['ThuTravel          '], ENT_QUOTES); 
    $FriTravel                 =htmlentities($_POST['FriTravel          '], ENT_QUOTES); 
    $SatTravel                 =htmlentities($_POST['SatTravel          '], ENT_QUOTES); 
    $SunTravel                 =htmlentities($_POST['SunTravel          '], ENT_QUOTES); 
    $MonMealCheck              =htmlentities($_POST['MonMealCheck       '], ENT_QUOTES); 
    $TueMealCheck              =htmlentities($_POST['TueMealCheck       '], ENT_QUOTES); 
    $WedMealCheck              =htmlentities($_POST['WedMealCheck       '], ENT_QUOTES); 
    $ThuMealCheck              =htmlentities($_POST['ThuMealCheck       '], ENT_QUOTES); 
    $FriMealCheck              =htmlentities($_POST['FriMealCheck       '], ENT_QUOTES); 
    $SatMealCheck              =htmlentities($_POST['SatMealCheck       '], ENT_QUOTES); 
    $SunMealCheck              =htmlentities($_POST['SunMealCheck       '], ENT_QUOTES); 
    $MonEveningMealCheck       =htmlentities($_POST['MonEveningMealCheck'], ENT_QUOTES); 
    $TueEveningMealCheck       =htmlentities($_POST['TueEveningMealCheck'], ENT_QUOTES); 
    $WedEveningMealCheck       =htmlentities($_POST['WedEveningMealCheck'], ENT_QUOTES); 
    $ThuEveningMealCheck       =htmlentities($_POST['ThuEveningMealCheck'], ENT_QUOTES); 
    $FriEveningMealCheck       =htmlentities($_POST['FriEveningMealCheck'], ENT_QUOTES); 
    $SatEveningMealCheck       =htmlentities($_POST['SatEveningMealCheck'], ENT_QUOTES); 
    $SunEveningMealCheck       =htmlentities($_POST['SunEveningMealCheck'], ENT_QUOTES); 
    $MonOvernightCheck         =htmlentities($_POST['MonOvernightCheck  '], ENT_QUOTES); 
    $TueOvernightCheck         =htmlentities($_POST['TueOvernightCheck  '], ENT_QUOTES); 
    $WedOvernightCheck         =htmlentities($_POST['WedOvernightCheck  '], ENT_QUOTES); 
    $ThuOvernightCheck         =htmlentities($_POST['ThuOvernightCheck  '], ENT_QUOTES); 
    $FriOvernightCheck         =htmlentities($_POST['FriOvernightCheck  '], ENT_QUOTES); 
    $SatOvernightCheck         =htmlentities($_POST['SatOvernightCheck  '], ENT_QUOTES); 
    $SunOvernightCheck         =htmlentities($_POST['SunOvernightCheck  '], ENT_QUOTES); 
    $DeclarationCheck          =htmlentities($_POST['DeclarationCheck   '], ENT_QUOTES); 
    $element_68                =htmlentities($_POST['element_68         '], ENT_QUOTES); 

    //Insert the new record
    if ($stmt = $db->prepare("INSERT INTO ap_form_1 (date_created,ip_address,element_1,element_2,element_3,element_14,element_15,element_92,element_91,element_90,element_93,element_89,element_18,element_17,element_16,element_19,element_20,element_23,element_22,element_21,element_24,element_25,element_28,element_27,element_26,element_29,element_30,element_33,element_32,element_31,element_43,element_42,element_41,element_40,element_39,element_38,element_37,element_36,element_35,element_34,SumMiles,element_44_1,element_45_1,element_46_1,element_47_1,element_48_1,element_49_1,element_50_1,element_51,element_52,element_53,element_54,element_55,element_56,element_57,SumHours,element_58,element_59,element_60,element_61,element_62,element_63,element_64,element_65_1,element_65_2,element_65_3,element_65_4,element_65_5,element_65_6,element_65_7,element_66_1,element_66_2,element_66_3,element_66_4,element_66_5,element_66_6,element_66_7,element_67_1,element_67_2,element_67_3,element_67_4,element_67_5,element_67_6,element_67_7,element_69_1,element_68)
 VALUES (?, INET_ATON(?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"))
        {
        if(
        $stmt->bind_param('sssssssssissssissssissssissssissssissssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiib', $created, $ip, $element_1, $element_2, $element_3, $MonTownFrom, $MonPostcodeFrom, $MonTownTo, $MonPostcodeTo, $MonMiles, $TueTownFrom, $TuePostcodeFrom, $TueTownTo, $TuePostcodeTo, $TueMiles, $WedTownFrom, $WedPostcodeFrom, $WedTownTo, $WedPostcodeTo, $WedMiles, $ThuTownFrom, $ThuPostcodeFrom, $ThuTownTo, $ThuPostcodeTo, $ThuMiles, $FriTownFrom, $FriPostcodeFrom, $FriTownTo, $FriPostcodeTo, $FriMiles, $SatTownFrom, $SatPostcodeFrom, $SatTownTo, $SatPostcodeTo, $SatMiles, $SunTownFrom, $SunPostcodeFrom, $SunTownTo, $SunPostcodeTo, $SunMiles, $SumMiles, $MonCheck, $TueCheck, $WedCheck, $ThuCheck, $FriCheck, $SatCheck, $SunCheck, $MonHours, $TueHours, $WedHours, $ThuHours, $FriHours, $SatHours, $SunHours, $SumHours, $MonTravel, $TueTravel, $WedTravel, $ThuTravel, $FriTravel, $SatTravel, $SunTravel, $MonMealCheck, $TueMealCheck, $WedMealCheck, $ThuMealCheck, $FriMealCheck, $SatMealCheck, $SunMealCheck, $MonEveningMealCheck, $TueEveningMealCheck, $WedEveningMealCheck, $ThuEveningMealCheck, $FriEveningMealCheck, $SatEveningMealCheck, $SunEveningMealCheck, $MonOvernightCheck, $TueOvernightCheck, $WedOvernightCheck, $ThuOvernightCheck, $FriOvernightCheck, $SatOvernightCheck, $SunOvernightCheck, $DeclarationCheck, $element_68)
        ){
        $stmt->execute();           
        }
        else
        {
        echo "ERROR: Could not bind SQL statement. Your Mileage form has not been submitted successfully.";
        printf("Bind Statement Error: %s\n", $db->error);
        }
        $stmt->close();
        }
    // show an error if the query has an error
    else
        {
        echo "ERROR: Could not prepare SQL statement. Your Mileage form has not been submitted successfully.";
        printf("Prepared Statement Error: %s\n", $db->error);
        }
//      }

    }

//declare in the order variable
$db->close();
//header('Location: http://localhost/thankyou.php');
?>

The schema for the table is here:

CREATE TABLE `ap_form_1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `date_updated` datetime DEFAULT NULL,
  `ip_address` varchar(15) DEFAULT NULL,
  `status` int(4) unsigned NOT NULL DEFAULT '1',
  `resume_key` varchar(10) DEFAULT NULL,
  `element_1` text COMMENT 'Single Line Text',
  `element_2` text COMMENT 'Single Line Text',
  `element_3` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Drop Down',
  `element_4` text COMMENT 'Single Line Text',
  `element_5` text COMMENT 'Single Line Text',
  `element_6` text COMMENT 'Single Line Text',
  `element_7` text COMMENT 'Single Line Text',
  `element_8` text COMMENT 'Single Line Text',
  `element_9` text COMMENT 'Single Line Text',
  `element_10` text COMMENT 'Single Line Text',
  `element_12` text COMMENT 'Single Line Text',
  `element_13` text COMMENT 'Single Line Text',
  `element_11` text COMMENT 'Single Line Text',
  `element_14` text COMMENT 'Single Line Text',
  `element_15` text COMMENT 'Single Line Text',
  `element_17` text COMMENT 'Single Line Text',
  `element_18` text COMMENT 'Single Line Text',
  `element_16` text COMMENT 'Single Line Text',
  `element_19` text COMMENT 'Single Line Text',
  `element_20` text COMMENT 'Single Line Text',
  `element_22` text COMMENT 'Single Line Text',
  `element_23` text COMMENT 'Single Line Text',
  `element_21` text COMMENT 'Single Line Text',
  `element_24` text COMMENT 'Single Line Text',
  `element_25` text COMMENT 'Single Line Text',
  `element_27` text COMMENT 'Single Line Text',
  `element_28` text COMMENT 'Single Line Text',
  `element_26` text COMMENT 'Single Line Text',
  `element_29` text COMMENT 'Single Line Text',
  `element_30` text COMMENT 'Single Line Text',
  `element_32` text COMMENT 'Single Line Text',
  `element_33` text COMMENT 'Single Line Text',
  `element_39` text COMMENT 'Single Line Text',
  `element_41` text COMMENT 'Single Line Text',
  `element_42` text COMMENT 'Single Line Text',
  `element_37` text COMMENT 'Single Line Text',
  `element_36` text COMMENT 'Single Line Text',
  `element_35` text COMMENT 'Single Line Text',
  `element_34` text COMMENT 'Single Line Text',
  `SumMiles` int(4) DEFAULT NULL,
  `element_31` text COMMENT 'Single Line Text',
  `element_43` text COMMENT 'Single Line Text',
  `element_40` text COMMENT 'Single Line Text',
  `element_38` text COMMENT 'Single Line Text',
  `element_65_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_65_2` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 2',
  `element_65_3` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 3',
  `element_65_4` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 4',
  `element_65_5` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 5',
  `element_65_6` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 6',
  `element_65_7` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 7',
  `element_66_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_66_2` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 2',
  `element_66_3` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 3',
  `element_66_4` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 4',
  `element_66_5` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 5',
  `element_66_6` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 6',
  `element_66_7` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 7',
  `element_67_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_67_2` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 2',
  `element_67_3` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 3',
  `element_67_4` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 4',
  `element_67_5` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 5',
  `element_67_6` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 6',
  `element_67_7` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 7',
  `element_44_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_50_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_49_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_48_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_47_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_46_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_45_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_51` text COMMENT 'Single Line Text',
  `element_57` text COMMENT 'Single Line Text',
  `SumHours` int(4) DEFAULT NULL,
  `element_56` text COMMENT 'Single Line Text',
  `element_55` text COMMENT 'Single Line Text',
  `element_52` text COMMENT 'Single Line Text',
  `element_53` text COMMENT 'Single Line Text',
  `element_54` text COMMENT 'Single Line Text',
  `element_58` text COMMENT 'Single Line Text',
  `element_64` text COMMENT 'Single Line Text',
  `element_63` text COMMENT 'Single Line Text',
  `element_62` text COMMENT 'Single Line Text',
  `element_61` text COMMENT 'Single Line Text',
  `element_60` text COMMENT 'Single Line Text',
  `element_59` text COMMENT 'Single Line Text',
  `element_68` mediumtext COMMENT 'Signature',
  `element_69_1` int(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Checkbox - 1',
  `element_82` text COMMENT 'Single Line Text',
  `element_85` text COMMENT 'Single Line Text',
  `element_86` text COMMENT 'Single Line Text',
  `element_88` text COMMENT 'Single Line Text',
  `element_91` text COMMENT 'Single Line Text',
  `element_90` text COMMENT 'Single Line Text',
  `element_92` text COMMENT 'Single Line Text',
  `element_89` text COMMENT 'Single Line Text',
  `element_93` text COMMENT 'Single Line Text',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8

Take a look at what is being tested in the if statement.
You'll see that you are only checking to see if preparing the statement had an error. You don't check to see if the actual execution of the query.

You can add an additional if statement to the execution of the query to let you know if there is an issue.

and it only seems to be inserting the date and the ip address (first two variables) and nothing else

The issue you have with not seeing any of the other variables is because they aren't defined. Since you're submitting data from a form, you need to access them using $_POST or $_GET. Take a look at php's guide on external variables .

Also, if you update your main post with the new code and any new errors, we can help you narrow things down.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM