レコードごとに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>
500 - ログを確認してください –
'str_parse 'とは何ですか? ['parse_str'](http://php.net/manual/en/function.parse-str.php)を使用することを意味しましたか?もしそうなら、関数を使用しようとしているので、500を取得しています。' str_parse '、それは存在しないし、あなたがあなたのクエリを適切に引用しなかったからです。 Fred -ii-が指摘しているように、サーバーエラーログ –
を@PatrickEvansのエラー報告が未定義の関数について何か投げてしまったことを確認する必要があります。 –