我有這個PHP/MySQL的腳本添加註釋到我的DB:如何防止將重複條目添加到數據庫表中?
$SQL = "INSERT INTO blog_comments (article_id, author_name, comment, path, posted, status) ";
$SQL .= "VALUES (:article_id, :name, :comment, :next_path, Now(), 'Live');";
$STH = $DBH->prepare($SQL);
$STH->bindParam(':article_id', $article_id);
$STH->bindParam(':name', $name);
$STH->bindParam(':comment', $comment);
$STH->bindParam(':next_path', $next_path);
$STH->execute();
有什麼辦法來修改這一點,以便它不插入相同的[author_name]
,[article_id]
和[comment]
這個表?我知道中的一列可能會在我的表中添加UNIQUE,但不確定是否有多列。
當然上的article_id。不知道關於author_name - 雖然對於那些共享同一個名字的人來說很危險:John(Smith | Doe) – nickhar
@nickhar:這是一個很好的觀點,謝謝。這只是爲了阻止某人刷新頁面併發布重複條目。也許我會使用SESSION_ID作爲唯一的用戶值... – ShadowStorm
這裏有一個更好的解決方案:在用戶發佈後,重定向他們的瀏覽器。這樣他們不能刷新他們的帖子。問題解決了。 – Mike