PHP不将表单数据插入DB

时间:2013-07-25 18:38:06

标签: php forms

所以我对我的博客发表了评论帖,但它似乎没有插入数据。 这是表格:

<form action='' method='post' name='postComment'>
<label for='name'>Name:</label><br/><input type='text' id='name' name='name''/><br/>
<label for='comment'>Comment:</label><br/><input type='text' id='comment' name='comment' />
<br/><input type='submit' value='Post' name='postComment'/></form></div>

表单在页面顶部的同一页面上处理。我使用与博客帖子本身相同的方式插入数据,所以我知道它有效。我还使用phpMyAdmin(显然删除占位符)测试了SQL

if(!empty($_POST['postComment']))
{
    $date = date("d/m/y g:i:A");
    $name = clean(mysqli_real_escape_string($db, $_POST['name']));
    $comment = clean(mysqli_real_escape_string($db, $_POST['comment']));
    if ($stmt = $db->prepare("INSERT INTO `comments` (`name`, `comment`, `entry`, `date`) values (?, ?, ?, ?)")) {
        $stmt->bind_param('ssis', $name, $comment, $_GET['id'], $date);
        $stmt->execute();
        $stmt->close();
    }
}

任何帮助都会受到赞赏,现在已经在这个问题上抓了一天。

3 个答案:

答案 0 :(得分:1)

也可能需要清理数据,以便在其周围输入引号。如果你查看你的查询,你可能会看到没有像字符串那样输入日期,它应该是。

答案 1 :(得分:0)

解决了它,谢谢大家的帮助。出于某种原因,phpMyAdmin没有将ID设置为自动增量,即使我在制作表时设置了它。一个简单的SQL查询解决了它。

ALTER TABLE comments MODIFY id int NOT NULL AUTO_INCREMENT;

答案 2 :(得分:-1)

你的表单操作=''是空白的,所以它不会去任何地方。