我有一种形式可以更新mysql中的某些值,当输入为空时,如何避免更新单元格?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有一种形式可以更新mysql中的某些值,当输入为空时,如何避免更新单元格?相关的知识,希望对你有一定的参考价值。
我在php中有一个脚本,该脚本在以不同的输入形式获取一些值后执行multyquery更新。如果我填写所有这些表格并按保存,一切都会正常。但是,如果我打开一个字段,则会收到错误消息,因为该值不能为空。
现在,我想做的是,当php / html表单的输入字段为空时,不应更改记录,并保持当前值在数据库中。
这是我当前代码的一部分
$sql = "UPDATE task SET name='$aName', surname='$aSurname', htbTotal='$ahtbtotal' WHERE id=1;";
$sql .= "UPDATE task SET name='$fName', surname='$fSurname', htbTotal='$fhtbtotal' WHERE id=2;";
if ($conn->multi_query($sql) === TRUE) {
echo "Record updated successfully";
$risposta= "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
$risposta= "Error updating record: " . $conn->error;
}
这是一个输入示例
<input id="aName" name="aName" type="text" placeholder="">
有任何建议吗?
提前感谢!
更新:为了更清楚一点,我不需要验证。我希望用户如果不想填写,则将一些输入留空,但这不应该重写数据库内部的相关行值
答案
$sql = "UPDATE task SET";
if(strlen($_POST['aName'])>0)
{
$sql .= " name='$aName',";
}
if(strlen($_POST['aSurname'])>0)
{
$sql.=" surname='$aSurname',";
}
if(strlen($_POST['htbTotal'])>0)
{
$sql.=" htbTotal='$htbTotal'";
}
$sql.=" WHERE id=1;";
这样您可以通过比较解决
以上是关于我有一种形式可以更新mysql中的某些值,当输入为空时,如何避免更新单元格?的主要内容,如果未能解决你的问题,请参考以下文章