我有一个将(文章的)文本插入数据库的表单。当用户提交文章(已经提交)时,它也会被提交到数据库中。
如何检测重复的帖子(如在stackoverflow上)?
我应该从数据库中选择所有内容,并检查提交的帖子是否与之前的帖子相似。 (我想在文章页面上发布重复提醒作为第一条评论)
任何帮助表示感谢。
...谢谢
答案 0 :(得分:2)
创建一个唯一的ID,例如使用uniq_id()
,将其放在HTML表单中的隐藏字段中,然后将其保存在数据库中设置为UNIQUE
的字段中。当INSERT
操作失败时,您知道POST之前已经发送过。
答案 1 :(得分:1)
如果你有隐藏的id,你在尝试编辑某些内容时从db获得,你可以使用这样的代码:
if (isset($_POST['id']) && trim($_POST['id']) != '') {
$query = 'UPDATE table_name
SET
`key` = \'' .$_POST['key'] . '\'
WHERE `id` = \'' . $_POST['id'] . '\'', 0;
} else {
$query = 'INSERT INTO table_name
SET
`key` = \'' . $_POST['key'] . '\'', 0;
}