2016-05-30 5 views
0

Я хочу обновить мою базу данных на запись с помощью запроса AJAX. Проблема в том, что он дает мне ошибку 500, когда я отправляю редактирование. Обновление «RecordData» дает мне все данные, но это все.PHP & AJAX Request 500 (Внутренняя ошибка сервера)

Мое обновление файла.

$data = $_POST['recordData']; 
    str_parse($data, $data); 

    echo "Record Id is: " . $data[0]; 
    echo $query = "UPDATE bier 
       SET naam = '$data['naam'], brouwer = '$data['brouwer']', type = '$data['type']', gisting = '$data['gisting']', perc = '$data['perc']', inkoop_prijs = '$data['inkoop_prijs']' 
       WHERE id= '".$data['id']."'"; 
    if (mysqli_query($conn, $query)) { 
     echo "Record updated successfully"; 
    } else { 
     echo "Error updating record: " . mysqli_error($conn); 
    } 
    mysqli_close($conn); 

echo $_POST['recordId']; 

Мой AJAX Функция

function editRecord(data){ 
console.log(data); 

$.ajax({ 
    type: "POST", 
    data: { 
     database: 'updateRecords', 
     recordData: data.serialize() 
    }, 
    url: "actions/update.php", 
    dataType: "html", 
    async: false, 
    success: function(data) { 
     ModalClose(); 
    } 
}); 
} 

И моя форма:

 <form id="FormBier" action="#" method="post"> 
     <table> 
      <tr> 
       <td>Id</td> 
       <td><input type="text" name="id"></td> 
      </tr> 
      <tr> 
       <td>Naam</td> 
       <td><input type="text" name="naam"></td> 
      </tr> 
      <tr> 
       <td>Brouwer</td> 
       <td><input type="text" name="brouwer"></td> 
      </tr> 
      <tr> 
       <td>Type</td> 
       <td><input type="text" name="type"></td> 
      </tr> 
      <tr> 
       <td>Gisting</td> 
       <td><input type="text" name="gisting"></td> 
      </tr> 
      <tr> 
       <td>Percentage</td> 
       <td><input type="text" name="perc"></td> 
      </tr> 
      <tr> 
       <td>Inkoop Prijs</td> 
       <td><input type="text" name="inkoop_prijs"></td> 
      </tr> 
      <tr> 
       <input type="submit" onclick="editRecord($('#FormBier'))" value="bewerk"> 
      </tr> 
     </table> 
    </form> 
</div> 
+0

500 - проверьте свои журналы –

+1

Что такое 'str_parse'? Вы имели в виду использовать ['parse_str'] (http://php.net/manual/en/function.parse-str.php), если тогда вы получаете 500, потому что пытаетесь использовать функцию' str_parse ', этого не существует, и потому, что вы не указали свой запрос правильно. Как указывает Фред-ии, вам нужно проверить свои журналы ошибок журналов –

+0

, как указано в отчете об ошибках @PatrickEvans, что-то бросило бы вам о неопределенной функции. –

ответ

0

проверки POST и переменных с помощью IsSet и изменить запрос, как упоминание ниже кода.

echo $query = 'UPDATE bier SET naam = '.$data["naam"].', brouwer = '.$data["brouwer"].', type = '.$data["type"].', gisting = '.$data["gisting"].', perc = '.$data["perc"].', inkoop_prijs = '.$data["inkoop_prijs"].' WHERE id= '.$data["id"]; 
+0

Проблема не в запросе, но она не использует текст, который я заполнил, в поля ввода. – pieter771

+0

попробуйте это и проверьте ввод с переменными .print_r ($ _ POST); – MPMP

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