gpt4 book ai didi

php - 使用 select 形式更新 Mysql 中的数据

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

我正在构建一个错误跟踪工具。

您可以向项目添加错误,并且这些错误有一个状态(未解决或已解决)。

使用此选择表单,您可以更改项目页面上的状态,所有错误都显示在表格中:

                <form action="classes/bugStatus.class.php" method="post">
<select name="status" id="status" onchange='this.form.submit()'>
<option>-Select-</option>
<option value="Solved">Solved</option>
<option value="Unsolved">Unsolved</option>
</select>
<input type='hidden' name='ID' value="<?php echo $id;?>">
<noscript><input type="submit" value="Submit"></noscript>
</form>

有了这个类,状态就会改变:

 $status = $_POST['status'];
$id = $_POST['ID'];

$sql="UPDATE bugs SET status = '$status'";

$result = mysql_query($sql);
$result = mysql_real_escape_string($sql);

if($result){
header('Location: ../projectpage.php?id='.$id);
} else {
echo "There is something wrong. Try again later."; }
mysql_close();

问题是,当我选择某些内容时,它会更改该项目中每个错误的每个状态,我不希望这样。我只想更改所选错误的状态。在 MySQL 数据库中,每个错误都有一个唯一的 ID,所以我想我也必须选择该错误 ID。我不知道如何从数据库中检索该错误 ID。

该表单不是 sql 注入(inject)证明,也不是 mysqli,我稍后会更改它。

有人可以帮助我吗?

最佳答案

$sql="UPDATE bugs SET status = '$status'"; 

您需要使用 WHERE id = $id 更新此行

您目前没有指定要更新哪个错误,因此您更新了所有错误。

作为补充说明,整个社区将会因为您使用旧的 mysql 扩展而对您进行追责。看看mysqliPDO ,从长远来看,我保证这是值得的。

哎呀,你已经提到过这一点,没关系。

关于php - 使用 select 形式更新 Mysql 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153143/

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