php MySql使用随机ID获取比当前可用帖子更新的帖子?

时间:2015-06-24 11:57:53

标签: php mysql

我有一个News Feed System获得比上一篇文章更新的帖子,通过获取最后发布的ID并在db中搜索它

    SELECT * FROM posts WHERE id > $current_last_post

有效..但如果有人想spam他可以spam数据库中的所有帖子,那么评论不安全因为我通过获取帖子ID和帖子来发帖评论插入一个名为评论的表格,我可以通过为帖子unique id提供类似E9dQ3Fv之类的内容来解决这个问题,但是因为如何比较那些< / p>

SELECT * FROM posts WHERE id > E9dQ3Fv

你能建议我使用唯一身份证吗?

编辑:我的问题

  

是否可以使用随机ID而不是旧的正常自动增量ID来获取更新的帖子,或者我必须添加普通ID和随机获取普通ID的最新帖子并使用随机ID发布评论?

我希望你了解我... 谢谢(抱歉英语不好)

2 个答案:

答案 0 :(得分:0)

如果您想将结果随机化,可以使用ORDER BY RAND(),但不鼓励这样做(在大型表格上速度很慢)。

答案 1 :(得分:0)

选项1

除了维护排序顺序的random id之外,还可以使用其他列。例如。一个TIMESTAMP列或只是一个自动递增ID。

选项2

将随机id替换为单调增加的伪随机值。例如一个int序列,而不是每次增加1,增加一个随机量(1,4,23,678,680,1221,...)

我无法解决为什么你需要一个随机ID,因此我无法知道这是否合适。