我遇到无法更新数据库的问题。我认为错误在于更新查询本身,但我对 SQL 和 PHP 很陌生,因此我不能 100% 确定。任何帮助将不胜感激。
我收到了未定义的索引错误,我已修复该错误,但问题仍然存在:
$id = $_GET["id"]; $listdate = isset($_POST['list_date']) ? $_POST['list_date'] : ''; $listprice = isset($_POST['list_price']) ? $_POST['list_price'] : ''; $solddate = isset($_POST['sold_date']) ? $_POST['sold_date'] : ''; $soldprice = isset($_POST['sold_price']) ? $_POST['sold_price'] : ''; $shipdate = isset($_POST['ship_date']) ? $_POST['ship_date'] : ''; $shipcost = isset($_POST['ship_cost']) ? $_POST['ship_cost'] : '';
更改为上述代码(不起作用)后,我仍然遇到更新数据库的问题。这是完整的当前代码:
$id = $_GET["id"];
$listdate = $_POST["list_date"];
$listprice = $_POST["list_price"];
$solddate = $_POST["sold_date"];
$soldprice = $_POST["sold_price"];
$shipdate = $_POST["ship_date"];
$shipcost = $_POST["ship_cost"];
$servername = "localhost";
$username = "inventory";
$password = "*****";
$db = "products";
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error){
die("Connection failed: ". $conn->connect_error);
}
$sql = "UPDATE inventory SET list_date = '$listdate', list_price = '$listprice', sold_date = '$solddate', sold_price = '$soldprice', ship_date = '$shipdate', ship_cost= '$shipcost' WHERE product_id = ' .$id. '";
if($conn->query($sql) === TRUE){
echo "Record Saved.";
} else {
echo "Error!";
}
$conn->close();
?>
即使我手动将 ID 更改为数据库分配的 ID,更新仍然不起作用,并且数据库中没有任何更改。我知道该表格看起来不太漂亮,但我将其设置为测试。以下是我如何设置表单来捕获更改:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
首先你必须改变:
至:
匹配您的 php 代码中的内容并将其应用到其余的 html 输入
然后更改:
至:
通知 不要忘记在输入中使用 id="" 格式化标签中的 for="" ,以免给出不同的结果