INSERT INTO不起作用(仅在一点)

时间:2016-04-30 14:46:01

标签: php html mysql sql mysqli

我有问题...... 我的网页上有一个表单,管理员可以通过sql" INSERT INTO"来创建一个事件。命令。 在同一个站点上,他可以查看这些事件的注册,并且能够通过sql" UPDATE"来接受或拒绝这些注册。命令。 整个注册部分工作得很好......但不是事件创建...... 代码保存表单所需的所有数据(日期,时间等等)并返回$ check变量,如果变量为true,则接收所有数据并且代码发送" INSERT INTO&# 34;命令......哪个不起作用...... $ chekc变量是真的......

这是表格的代码:

<form method="post" action="">
<input type="number" name="Tag" title="Tag" placeholder="Tag" Required>
<input type="number" name="Monat" title="Monat" placeholder="Monat" Required>
<input type="number" name="Jahr" title="Jahr" placeholder="Jahr" Required>
<input type="number" name="Stunde" title="Stunde" placeholder="Stunde" Required>
<input type="number" name="Minute" title="Minute" placeholder="Minute" Required>
<input type="text" name="Ort" title="Ort" placeholder="Ort" Required>
<input type="number" name="Preis" title="Preis" placeholder="Preis" Required>
<input type="number" name="AHelfer" title="AHelfer" placeholder="Aufbau Helfer" Required>
<input type="number" name="BHelfer" title="BHelfer" placeholder="Abbau Helfer" Required>
<input type="submit" name="Erstellen" title="Erstellen" value="Erstellen">
</form>

这是验证和插入数据的代码:

if (!empty($_POST[Erstellen]))
    {
        $check = true;
        if (!empty($_POST[Tag]))
        {
            $Tag = str_replace('\'', '', str_replace('"', '', $_POST["Tag"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Monat]))
        {
            $Monat = str_replace('\'', '', str_replace('"', '', $_POST["Monat"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Jahr]))
        {
            $Jahr = str_replace('\'', '', str_replace('"', '', $_POST["Jahr"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Stunde]))
        {
            $Stunde = str_replace('\'', '', str_replace('"', '', $_POST["Stunde"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Minute]))
        {
            $Minute = str_replace('\'', '', str_replace('"', '', $_POST["Minute"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Ort]))
        {
            $Ort = str_replace('\'', '', str_replace('"', '', $_POST["Ort"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[Preis]))
        {
            $Preis = str_replace('\'', '', str_replace('"', '', $_POST["Preis"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[AHelfer]))
        {
            $AHelfer = str_replace('\'', '', str_replace('"', '', $_POST["AHelfer"]));
        }else{
            $check = false;
        }
        if (!empty($_POST[BHelfer]))
        {
            $BHelfer = str_replace('\'', '', str_replace('"', '', $_POST["BHelfer"]));
        }else{
            $check = false;
        }

        if ($check)
        {
            echo 'check ';
            $sql = "INSERT INTO Veranstaltungen (Tag, Monat, Jahr, Stunde, Minute, Preis, Ort, AHelfer, BHelfer) VALUES ('$Tag', '$Monat', '$Jahr', $Stunde', '$Minute', '$Preis', '$Ort', '$AHelfer', '$BHelfer')";
            $eintragen = mysqli_query($verbindung, $sql);
            echo $eintragen;
        }

This is the db structure

2 个答案:

答案 0 :(得分:0)

$sql = "INSERT INTO Veranstaltungen (Tag, Monat, Jahr, Stunde, Minute, Preis, Ort, AHelfer, BHelfer) VALUES ('".$Tag."', '".$Monat."', '".$Jahr."', '".$Stunde."', '".$Minute."', '".$Preis."', '".$Ort."', '".$AHelfer."', '".$BHelfer."')";

嗯,你忘记了串联&#34;。&#34; (点)。试试这个

答案 1 :(得分:0)

嗯,我不知道为什么现在有效,但确实如此...... 在我尝试了所有你的提示和东西之后,我只需按住ctrl + z到我上面发布的第一个版本,它就行了...... 非常感谢您的所有评论和答案!