2013-05-02 3 views
0

У меня возникли проблемы с получением данных из моей php-формы в мою базу данных mysql. Я использую mysqli, создавая входы, связывая их, а затем исполняю.php form и mysql не вставляются

У меня нет ошибки при отправке формы. Если я намеренно помещаю ошибку в инструкцию подготовки, например, неправильное написание «INERT INTO table ...», то отправьте форму, на дисплее появится ошибка. Если я добавлю в строку bind_param дополнительную строку или целочисленное значение, это не ошибка, и если я добавлю в переменную дополнительную переменную или неправильно произведу ее, это также не приведет к ошибке. Я не могу, чтобы жизнь меня определяла, что происходит не так! Я подсчитал количество подготовленных значений по сравнению с количеством связанных значений и переменных и совпадений count.

Ниже форма ввода, который выполняется при отправке формы:

<?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'); 
?> 

Схема для таблицы находится здесь:

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 
+1

Пожалуйста, разместите ваш код здесь, а не ссылку на другие страницы. –

+0

Извините, Марсель, я попытался ввести код непосредственно, но у меня были проблемы с вставкой блочного кода. – Lazarix

+0

. Вы видите, что bind_param() возвращает true? –

ответ

1

Взгляните на то, что испытывается в если утверждение.
Вы увидите, что вы проверяете, не была ли ошибка при подготовке заявления. Вы не проверяете, действительно ли выполняется запрос.

Вы можете добавить дополнительную инструкцию if к выполнению запроса, чтобы вы знали, есть ли проблема.

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

Проблема, с которой вы сталкиваетесь, не видя ни одной из других переменных, состоит в том, что они не определены. Поскольку вы отправляете данные из формы, вам необходимо получить к ним доступ с помощью $ _POST или $ _GET. Взгляните на php's guide on external variables.

Кроме того, если вы обновите свой основной пост новым кодом и любыми новыми ошибками, мы сможем помочь вам сузить дело.

+0

Спасибо! Это действительно показало ошибку. – Lazarix

+0

Показанная ошибка: Ошибка синтаксиса: неожиданный T_VARIABLE, ожидающий '(' in input.php в строке 38 Строка 38 - инструкция bind_param – Lazarix

+0

Я подсчитал количество параметров привязки по сравнению с числом переменных передается для привязки, а счетчик - один и тот же. 86. – Lazarix

Смежные вопросы