我使用以下代码更新数据库。这是mysqli prepared statement
。
我没有收到任何错误,但它也没有更新数据库!
有人能让我知道我的代码中缺少什么吗?
if (isset($_POST['product_name'])) {
include "config/connect.php";
$targetID = $_GET['edit'];
$product_name = mysqli_real_escape_string($db_conx, $_POST['product_name']);
if ($stmt = $db_conx->prepare("UPDATE $storeShop SET product_name = ? WHERE id = ?")){
$stmt->bind_param('si', $product_name, $targetID);
$stmt->execute();
$stmt->close();
}
else {
//Error
printf("Prep statment failed: %s\n", $db_conx->error);
}
提前致谢。
答案 0 :(得分:-1)
这是我修复它的方式:
我添加了一个隐藏的输入字段,如下所示:
<input name="thisID" type="hidden" value="<?php echo $targetID; ?>" />
我在代码的顶部添加了这段代码:
$pid = $_POST['thisID'];
最后我在代码中更改了这一行:
$stmt->bind_param('si', $product_name, $pid);
一切正常。
我希望这有助于某人。