2016-05-30 88 views
0

我想用AJAX請求更新每個記錄的數據庫。問題是,當我提交編輯時,它會給我一個500錯誤。更新'RecordData'給我所有的數據,但它就是這樣。PHP&AJAX請求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 ',那不存在,因爲你沒有正確引用你的查詢。由於Fred -ii-指出你需要檢查你的服務器錯誤日誌 –

+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

相關問題