Php 如果表单中未填写某些值,则不会更新数据库

Php 如果表单中未填写某些值,则不会更新数据库,php,sql,pdo,Php,Sql,Pdo,我正在尝试从GUI更新SQL数据库。如果我填写了表单中的所有字段,它就会工作,但如果任何字段为NULL或空,则不会更新任何内容。不会引发错误,但数据库不会在phpmyadmin中更新。 我希望能够接受空字段和空字段,包括能够删除字段中的内容 我不是一个程序员,所以我希望能解释一下如何处理这些空字段 <?php include ("connection.php"); include ("foundation.php"); ?> <!DOC

我正在尝试从GUI更新SQL数据库。如果我填写了表单中的所有字段,它就会工作,但如果任何字段为NULL或空,则不会更新任何内容。不会引发错误,但数据库不会在phpmyadmin中更新。 我希望能够接受空字段和空字段,包括能够删除字段中的内容

我不是一个程序员,所以我希望能解释一下如何处理这些空字段

<?php
include ("connection.php");
include ("foundation.php");
?>

<!DOCTYPE html>
<html>
    <head>
        <title>PHP UPDATE DATA USING PDO</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <form name="frmUser" method="post" action="">
            <input type="text" name="id" required placeholder="id"><br><br>
            <input type="text" name="person" required placeholder="person"><br><br>
            <input type="text" name="dob" required placeholder="dob"><br><br>
            <input type="text" name="dod" required placeholder="dod"><br><br>
            <input type="submit" name="update" required placeholder="Update Data">
        </form>
    </body>
</html>

<?php
if(isset($_POST['update']))
{
    // get values from input text and number
    $id = $_POST['id'];
    $person = $_POST['person'];
    $dob = $_POST['dob'];
    $dod = $_POST['dod'];
    
    // mysql query to Update data
    
    $pdoquery = "UPDATE people SET id=:id, person=:person,dob=:dob,dod=:dod WHERE id='" . $_GET['id'] . "'";
    $pdoQuery_run = $pdocbcon->prepare($pdoquery);
    $pdoQuery_exec = $pdoQuery_run->execute(array(":person"=>$person,":dob"=>$dob,":dod"=>$dod,":id"=>$id));
    
    if($pdoQuery_exec)
    {
        echo 'Uppdaterat';
    }
    else
    {
        echo 'FEL';
    }

}

?>



PHP使用PDO更新数据









ID值不能为null,因此必须在前端插入它,并在数据库中为所有其他列允许null

if(isset($_POST['update']))
{
    // get values from input text and number
    $id = $_POST['id'];
    $person = $_POST['person'];
    $dob = $_POST['dob'];
    $dod = $_POST['dod'];

 if(empty($id)){
            echo("Missing Information! You must input ID");

是要用空值更新还是要确保字段的值不是空的?您好!我希望能够使用空值进行更新。但您需要id字段来更新任何内容。该字段不能为空。我已经改变了我的答案。请检查一下,没错。ID是唯一不能为空的字段。其他字段是否允许为空以及数据库?此代码中没有空值,因此与询问您是否正确无关。只有空字符串。