我有一个更新 mysql 中某些值的表单,如何避免在输入为空时更新单元格?

我在 PHP 中有一个脚本,它在以不同的输入形式获取一些值后执行多查询更新。如果我填写所有这些表格并按保存,一切正常。但是,如果我打开一个字段,我会收到一条错误消息,因为该值不能为空。


现在,我想做的是,当 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="">

有什么建议吗?


提前致谢!


更新:为了更清楚,我不需要验证。如果用户不想填充,我希望用户将一些输入留空,但这不应该重写数据库中的相关行值


拉丁的传说
浏览 91回答 1
1回答

不负相思意

$sql = "UPDATE task SET";if(strlen($_POST['aName'])>0){$sql .= " name='$aName',";}if(strlen($_POST['aSurname'])>0){$sql.=" surname='$aSurname',";}&nbsp;if(strlen($_POST['htbTotal'])>0){&nbsp;$sql.=" htbTotal='$htbTotal'";}&nbsp;&nbsp;$sql.=" WHERE id=1;";这样你就可以通过比较解决
打开App,查看更多内容
随时随地看视频慕课网APP