所以我对我的博客发表了评论帖,但它似乎没有插入数据。 这是表格:
<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();
}
}
任何帮助都会受到赞赏,现在已经在这个问题上抓了一天。
答案 0 :(得分:1)
也可能需要清理数据,以便在其周围输入引号。如果你查看你的查询,你可能会看到没有像字符串那样输入日期,它应该是。
答案 1 :(得分:0)
解决了它,谢谢大家的帮助。出于某种原因,phpMyAdmin没有将ID设置为自动增量,即使我在制作表时设置了它。一个简单的SQL查询解决了它。
ALTER TABLE comments MODIFY id int NOT NULL AUTO_INCREMENT;
答案 2 :(得分:-1)
你的表单操作=''是空白的,所以它不会去任何地方。