我無法將新價格更新到數據庫中。數據庫不會更新。我不確定我的代碼出錯了。無法將文本框中的值更新爲數據庫
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row['Menu_id']. " </td>";
echo "<td>" . $row['Menu_type']. " </td>";
echo "<td>" ."<input type =text name=Price value =" .$row['Price']. " </td>";
echo "<td>" ."<input type=submit name=Update value=Update"." </td>";
echo "<td>" ."<input type =hidden name=hidden value = " .$row['Menu_id']. " </td>";
echo "</tr>";
}
echo "</table>";
}
if(isset($_POST['Update'])){
$sqlAdd = "UPDATE Menu SET Price ='$_POST[Price]' WHERE Menu_id ='$_POST[hidden]'";
$result = mysqli_query($con, $sqlAdd);
if(mysqli_query($con, $sqlAdd)){
echo '<p><strong><font color = "red">The price for Menu id '.$Menu_id.' is updated.</strong></font>';
//redirect page
header('Refresh :5 ; url = UpdateMenuPrice.php');
}
else {
echo "failed <br>";
}
價格未更新。
這真的是最小的代碼示例?聽起來像你可以限制它執行SQL查詢的兩行(如果你確定這兩行被執行,你可以通過在前面和後面添加一些輸出語句來檢查) – hoijui
這裏有一些一般說明:'' $ _POST [Price]'_probably_應該是'$ _POST ['Price']'或者甚至是'$ _POST ['price']',除非你已經爲'$ _POST [hidden]'定義了一個常量'Post'。然後,您肯定應該開始閱讀關於「sql注入」的危險以及如何使用「準備好的語句」來防止您使用該代碼所面臨的危險。 – arkascha