データベースから選択リストを取り込んだフォームがあります。クエリが実行されると、成功メッセージが返されますが、データベースは更新されません。ここでPHP MySQL UPDATEクエリがテキストボックスから値を転記しない
は形式です:
<form id="formPrice">
<?php
$conn = new mysqli('localhost', 'something', 'something', 'something')
or die ('Cannot connect to db');
$result = $conn->query("SELECT PlotNumber FROM Developments WHERE Development = 'GREENGRAVES' AND Price = 'BOOKED'");
echo "<select name='plot_update'>";
while ($row = $result->fetch_assoc()) {
echo "<option value=\"Plot\">" . $row['PlotNumber'] . "
</option>";
}
echo "</select>";
?>
<input name="price" type="text" id="price">
<input name="update" type="submit" class="update_price">
</form>
ここでAJAXリクエストさ:
$('.update_price').click(function() {
var FormData = $('form').serialize();
$.ajax({
type: "POST",
url: '../php/update_price.php',
data : FormData,
success:function(html){
document.getElementById("result_two").innerHTML=html;
}
});
return false;
});
ここではでは、PHP
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$price = $_POST['price'];
$plot = $_POST['plot'];
$sql = "UPDATE Developments SET Price = '".$price."' WHERE PlotNumber = '".$plot."' ";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
ページが表示され、 "正常に更新されたレコード" であります結果div。ただし、データベースエントリは変更されません。なぜどんなアイデア?私は困惑している。
ブラウザのコンソールから、すべてのデータがサーバー側に正しく送信され、PHPスクリプトで$ _POST値が取得されていることを確認しましたか? – mi6crazyheart
'document.getElementById(" result_two ")' htmlのidはどこですか?それは無関係ですか? 'plot'のPOST配列がフォーム要素の名前と一致しません。エラー報告はあなたにそれについて語ったでしょう。未定義のインデックス。 –
result_twoは成功/エラーメッセージが表示されるdivの下にあります。どのようにフォームは一致しませんか? '価格'要素は '価格'入力から、選択からプロットする必要があります。 – spbrad