我的网页上有两个插入更新,我在过去做过这个没有任何问题,但是,今天我遇到了重大问题,第一次插入更新工作正常,但第二次没有(按下提交按钮没有出现在db表中)即使正在使用完全相同的脚本。
我不确定它是否在一个网页中插入了两个更新,或者是否需要在第一次插入更新后关闭数据库这一事实,我没有。
我试图插入的db表有一个唯一的密钥,我也连接到我的数据库或一个完全不同的问题。非常沮丧。请帮忙
第二次插入更新
$Restaurant_id = mysqli_real_escape_string($dbc, $_GET['restaurant_id']);
if (isset($_POST['Save_changes'])) {
$code = $_POST['Pcode'];
$insert_ = "INSERT INTO Delivery_Pcode
(Pcode,Restaurant_ID) VALUES(?,?)
ON DUPLICATE KEY
UPDATE
Pcode = ?
,Restaurant_ID = ?";
$r_query = mysqli_prepare($dbc, $insert_);
//new
// $stmt = mysqli_prepare($dbc, $insert_c);
//debugging
//$run_query = $dbc->prepare($insert_Delex);
$r_query->bind_param('sisi', $code,$Restaurant_id,$code,$Restaurant_id);
// THIS now executes the above transaction, returns TRUE if successful - issdissd duplicate update
if (!$r_query->execute()) {
$insertEr = "There was an error inserting data: " . $r_query->error;
}
print "affeted rows:" . $r_query->affected_rows; //how many records affected?
$r_query->free_result(); // Frees memory on completion
$r_query->close(); //closes this action
}
HTML
<form id="delivery_pcodes" action ="Franchise_postcodes.php?restaurant_id=<?php echo $_GET['restaurant_id'] ?>&Franchise=<?php echo $_GET['Franchise']; ?>" method="POST">
<input type="text" name="pcode" id="pcode" value="<?php echo $pcodes; ?>" placeholder="e.g LS1,LS2,LS3" tabindex="2">
<input type="number" name="pcode_price" id="pcode_price" value="" placeholder="e.g 3.50" tabindex="2">
<button type="submit" id="Save_changes" name="Save_changes" value="Save Changes">
<span class="glyphicon glyphicon-ok"></span> Save changes
</button>
</form>
答案 0 :(得分:0)
在此代码中,您执行$code,$Restaurant_id
两次。
$r_query->bind_param('sisi', $code,$Restaurant_id,$code,$Restaurant_id);