gpt4 book ai didi

php - 数据库不更新 - 通过 MySQLi 的 PHP 表单

转载 作者:行者123 更新时间:2023-11-29 02:55:11 24 4
gpt4 key购买 nike

我目前正在尝试通过 PHP 表单更新数据库。首先,我从表单中的数据库中获取所有信息,然后尝试更新该表单中的详细信息以反射(reflect)在数据库中。

我可以成功地设法从表单中的数据库中获取所有详细信息,但不幸的是,由于这个原因我没有更新。

这是从数据库中检索信息的代码,在 100% 有效的表单中:

include_once 'db_connect.php';

if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<form id=updateVehicle action='' method=post";
echo "<div id='vehicleDescription'>";

echo "<div>";
echo "<label for=vin>VIN</label>";
echo "<input type=text id=vin name=vin minlength=17 maxlength=17 placeholder=e.g. BMW1234567890ABCD value=" . $row['vin'] . " />";
echo "<br/>";
echo "</div>";

echo "<div>";
echo "<label for=make>Make</label>";
echo "<input type=text id=make name=make minlength=3 maxlength=13 placeholder=e.g. BMW value=" . $row['make'] . " />";
echo "<br/>";
echo "</div>";

echo "<div>";
echo "<label for=model>Model</label>";
echo "<input type=text id=model name=model minlength=2 maxlength=15 placeholder=e.g. 530D value=" . $row['model'] . " />";
echo "<br/>";
echo "</div>";

echo "<div>";
echo "<input type=text name=id value=" . $row['id'] . " />";
echo "</div>";

echo "<span><?php echo $errorMessage;?></span>";
echo "</div> <!--End of vehicleDescription div-->";
echo "<input type='submit' class='submit' value='Update Ads' />";
echo "</form>";
}
}

Action 是空的,因为它提交给自己,我试过使用“echo htmlspecialchars($_SERVER["PHP_SELF"]);"但它不起作用,所以我将其遗漏了。

这是处理更新的代码,但它不起作用:

if(isset($_POST['vin'], $_POST['make'], $_POST['model'])) {
$vin = filter_input(INPUT_POST, 'vin', FILTER_SANITIZE_STRING);
$make = filter_input(INPUT_POST, 'make', FILTER_SANITIZE_STRING);
$model = filter_input(INPUT_POST, 'model', FILTER_SANITIZE_STRING);
$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);

if($insert_stmt = $mysqli->prepare("UPDATE vehicles SET (vin=?, make=?, model=? WHERE id=? ")) {
$insert_stmt->bind_param("sssi", $vin, $make, $model, $id);

if(!$insert_stmt->execute()) {
header('Location: ../error.php?err=Registration failure: UPDATE');
$mysqli->close();
}
}
header('Location: ../includes/register_success.php');
$mysqli->close();
}

由于某些我不知道的原因,它根本不更新数据库。 “db_connect.php”100% 工作,因为我将它用于其他数据库查询。

如果您能为我指明正确的方向,我将不胜感激。

谢谢!

最佳答案

在执行更新查询时你没有得到错误吗?我可以在 SET 之后看到一个额外的 (:

UPDATE vehicles SET (vin=?, make=?, model=? WHERE id=? 

这应该会导致查询失败,这是数据库中没有更新内容的一个很好的原因。

关于php - 数据库不更新 - 通过 MySQLi 的 PHP 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com