我的插入查询失败了什么?

时间:2016-08-06 04:45:30

标签: php html mysql forms

我有一个表格用帖子提交到我的数据库中的表格。但是每当我点击提交时都说失败。我删除了几个验证脚本,试图找出表单未提交的原因。

我使用mysqli_query检查了很多关于INSERT的问题,但似乎没有人回答我的问题。我知道HTML结构可能很差,这只是为了让脚本首先正常工作。它真的不复杂,我不明白这里有什么不对。

我有一个注册表单,我正在处理的网站上的其他表单都可以正常工作,正确更新表格。不知道我在这里缺少什么。

<?php
include('db.php');


$event_name='';
$place='';
$time='';
$date='';
$description=''; 



$event_name=strip_tags($_POST['event_name']);
$place=strip_tags($_POST['place']);
$time=strip_tags($_POST['time']);
$date=strip_tags($_POST['date']);
$description=strip_tags($_POST['event_description']);


if(isset($_POST['submit'])) {

    $query = "INSERT INTO user_posts (title, location, time, date, description)"; 

    $query .= "VALUES ($event_name','$place','$time','$date','$description')";

    if (mysqli_query($connection, $query)) {

        echo "<h2> your post has been submitted </h2>";
        }
    else { 
        die('failure');     
    }
    }

和html表单

    <body>
   <div class="box-1">
   <form action="create_post_script.php" method="post" id="event_form">

   <div class="box-2">
   <input type="text" name="event_name" placeholder="event title" />   
   </div>

   <div class="box-3">
     <input type="text" name="place" placeholder="location" id="box-3" />
   </div>

    <div class="box-4">
       <input type="time" name="time"  id="box-4" /> 
    </div>

    <div class="box-4">
       <input type="date" name="date" id="box-4" />  
    </div>

    <div class="box-5">
     <h4> <center> ... </center> </h4>
    <textarea class="text-area" name="event_description" id="event_form" >
    </textarea>
    <input type="submit" value="submit" name="submit" placeholder="submit"/>     
    </div>

    <div class="box-6">
     <div class="box-7">       
     <h4>  </h4>
      </div>
      </div> 

     </form>
     </div>

    

当我点击提交时,生成的页面会确认我的连接并说“失败”,这是因为我有<text-area>的提交输入字段的方式吗?

3 个答案:

答案 0 :(得分:0)

试试这个

$query = "INSERT INTO user_posts (title, location, time, date, description) "; 

$query .= "VALUES ('$event_name','$place','$time','$date','$description')";

答案 1 :(得分:0)

你错过了单引号

        <?php

    $query = "INSERT INTO user_posts (title, location, time, date, description)"; 

        $query .= "VALUES ('$event_name','$place','$time','$date','$description')";
      //                  ^^^   
    //              here missing single quotes                 
    echo $query;

    ?>

答案 2 :(得分:0)

代码看起来不错,但只有一件事在插入值时您错过了单引号'

$query .= "VALUES ($event_name','$place','$time','$date','$description')";

更改为

$query .= "VALUES ('$event_name','$place','$time','$date','$description')";