列 'title' 不能为空

Column 'title' cannot be null

我有一个网站,人们可以在其中插入自己的博客。 但是当你按下发送按钮创建自己的博客时出现错误

第 'AccountID' 列不能为空。

我尝试创建的新博客也没有出现在我的 phpmyadmin 中。

这是我的php

<?php
    session_start();
    require_once ("includes/dbconnect.inc.php");
    require_once ("includes/functions.inc.php");
    $BlogID = "";
    $BlogTitel = "";
    $Tekst = "";
    $AccountID = "";


/* Een bestaand blog aanpassen */
    if (isset($_GET["bid"])) {
        $BlogID = $_GET["bid"];
        //query 1 bepaalde blog opvragen
        //vraagteken wordt door een waarde vervangen binnen de if
        $qrySelectBlog = 
            "SELECT BlogTitel, Tekst
                FROM tblBlog
                WHERE BlogID = ?";
        //query voorbereiden : kijken of die correct is     
        if($stmt = mysqli_prepare($dbconnect, $qrySelectBlog)) {
            //variabele verbinden aan de parameters (de vraagtekens)
            //door het type van de variabele mee te geven, zit er extra beveiliging ingebouwd
            mysqli_stmt_bind_param($stmt, "i", $BlogID);
            //query uitvoeren
            mysqli_stmt_execute($stmt);
            //waarden koppelen aan variabelen
            mysqli_stmt_bind_result($stmt, $BlogTitel, $Tekst);
            //waarden van 1 record in de variabelen stoppen
            //mogelijk omdat je zeker bent dat je gegevens hebt van slechts 1 record
            mysqli_stmt_fetch($stmt);
            //resultset sluiten
            mysqli_stmt_close($stmt);
        }
    }

    if ($_SERVER['REQUEST_METHOD'] == "POST") { //formulier is verzonden
        $BlogID = $_POST["BlogID"];
        $BlogTitel = $_POST["BlogTitel"];
        $Tekst = $_POST["Tekst"];
        $AccountID = $_POST["AccountID"];
        //controleren op verplichte velden
        if (!empty($BlogTitel) && !empty($Tekst)) {
            if(!isset($fout)) {
                //alles in orde, verder met verwerking
                //tekst voorbereiden om toe te voegen aan de DB
                $BlogTitel = prepText($BlogTitel);  
                $Tekst = prepText($Tekst);
                //controleren of het om een bestaand blog gaat
                if($BlogID == ""){
                    //nieuwe Blog
                    $qryInsertBlog = 
                    "INSERT INTO tblBlog (AccountID, BlogID, BlogTitel, Tekst)
                        VALUES (?, ?, ?, ?)";
                    if($stmt = mysqli_prepare($dbconnect, $qryInsertBlog)) {
                        mysqli_stmt_bind_param($stmt, "iiss", $AccountID, $BlogID, $BlogTitel, $Tekst);
                        if(mysqli_stmt_execute($stmt)) {
                            //query succesvol uitgevoerd    
                            $feedback = "<p>Toevoegen van jouw blog was succesvol</p>";
                        } else {
                            //query niet succesvol uitgevoerd   
                            $fout = "<p>Het toevoegen van de blog is mislukt</p>";
                            $fout .= mysqli_stmt_error($stmt);
                        }
                    } //if($stmt 
                } else { //if($blogID
                    //bestaand Blog
                    $qryUpdateBlog = 
                        "UPDATE tblBlog
                            SET BlogTitel = ?, Tekst = ?,
                            WHERE BlogID = ?";
                    if($stmt = mysqli_prepare($dbconnect, $qryUpdateBlog)) {
                        mysqli_stmt_bind_param($stmt, "ssi", $BlogTitel, $Tekst, $BlogID);
                        if(mysqli_stmt_execute($stmt)) {
                            //query succesvol uitgevoerd    
                            $feedback = "<p>Aanpassen van de blog was succesvol</p>";
                        } else {
                            //query niet succesvol uitgevoerd   
                            $fout = "<p>Het aanpassen van de blog is mislukt</p>";
                            $fout .= mysqli_stmt_error($stmt);
                        }
                    } //if($stmt 

                }
            } //if(!isset($fout)) 
        } else { //if (!empty($BlogTitel)
            //niet alle verplichte velden zijn ingevuld
            $fout = "<p>U hebt niet alle verplichte velden ingevuld</p>";   
        } //if (!empty($BlogTitel)
    } //if ($_SERVER['REQUEST_METHOD']
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Toevoegen Blog</title>
<link rel="stylesheet" type="text/css" href="CSS/index.css">
<link rel="stylesheet" type="text/css" href="CSS/index.css">
</head>

<body>
<form id="addBlog" name="addBlog" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <?php
        if(isset($fout)) {
            echo $fout; 
        } elseif(isset($feedback)) {
            echo $feedback; 
        }
    ?>
    <input type="hidden" name="BlogID" value="<?php echo $BlogID;?>">
    <label for="BlogTitel">Blog Naam</label>
    <input type="text" id="naam" name="BlogTitel" placeholder="Blog Titel" required value="<?php echo $BlogTitel;?>">
    <label for="Tekst">Tekst</label>
    <textarea name="Tekst" id="Tekst" placeholder="De tekst voor jouw blog" required><?php echo $Tekst;?></textarea>
    <input type="submit" id="submit" name="submit" value="Verzenden">
</form>
</body>
</html>

这是因为您将 $_POST['AccountID'] 发布为空值,而在您的数据库中不允许保存空值。

将 $_POST['AccountID'] 设置为某个值或允许数据库中的此字段为空。