2016-05-30 112 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

相关问题