gpt4 book ai didi

php - 将行上的列的值设置回 NULL

转载 作者:行者123 更新时间:2023-11-29 23:23:37 25 4
gpt4 key购买 nike

我有一个包含行和列的小表格

<tr>
<td>Warranty</td>
<td><?php echo ($admrmadetrow['rd_warranty'] == 1 ? "YES" : ' '); ?></td>
<td><select name="rd_warranty" data-placeholder="rd_warranty" class="form-control">
<option></option>
<option value="1">YES</option>
<option value="0">NO</option>
</select></td>
</tr>

第一列显示的只是一个名称,第二列是来 self 的 mysql 表的值,最后一列您可以选择值是(1)和否(0),并且在提交表单时必须更新mysql 表和具有新值的第二列,除非选择未更改 <option></option> .

我面临的问题是当第二列是 Yes 时它必须更改为 No它不更新。我知道0NULL 相同但你如何解决这个问题并改变10

我没有收到它提交的任何错误,但停留在 Yes(1)。

有人可以帮我解决这个问题吗?

编辑:

这是我更新数据库的代码

foreach (array_filter($_POST) as $key => $value){

$update_rma_detail_stmt = $dbh->prepare("UPDATE rma_detail SET $key = ? WHERE r_nr = ? AND rd_artikel_code = ?");
$update_rma_detail_stmt->bindParam(1, $value);
$update_rma_detail_stmt->bindParam(2, $getadmrmaid);
$update_rma_detail_stmt->bindParam(3, $artcode);
$update_rma_detail_stmt->execute();


}

最佳答案

如果 HTML 代码中的字段值为空,您的 POST 请求将生成为空字符串值(如 '')。要在准备好的语句中设置 NULL,您必须使用 bindValue 函数,您的代码将如下所示:

foreach ($_POST as $key => $value){

$update_rma_detail_stmt = $dbh->prepare("UPDATE rma_detail SET $key = ? WHERE r_nr = ? AND rd_artikel_code = ?");
/*you can use "empty($value)" or "$value==''" condition*/
if(empty($value)){
$update_rma_detail_stmt->bindValue(1, null);
}else{
$update_rma_detail_stmt->bindParam(1, $value);
}
$update_rma_detail_stmt->bindParam(2, $getadmrmaid);
$update_rma_detail_stmt->bindParam(3, $artcode);

}$update_rma_detail_stmt->execute();

关于php - 将行上的列的值设置回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114371/

25 4 0