MYSQL限制不一致

时间:2010-08-22 18:03:21

标签: php mysql

$data = mysql_query("SELECT * FROM phpbb_posts ORDER BY post_id DESC LIMIT 4")
or die(mysql_error());

以上是我的代码,我遇到限制部分的问题 当我第一次设置它时,一切看起来都很完美,但是我可以在几个小时内再次看到该页面,并且可以显示不同数量的记录,< strong> 即使代码完全相同

我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

数据不同,因为您上次检查页面后发布了更多帖子。您按post_id订购,其中最高值将是最近的帖子。

保持以前记录的最简单方法是缓存数据 - 存储它。但是缓存需要知道何时刷新缓存 - 否则它永远不会改变。

如果有日期/时间列,您可以使用它来在应用LIMIT之前过滤结果。但它必须足够宽才能获得至少四个记录。和日期相同的问题 - 在某些时候,您希望这些日期更改或页面提供的数据永远不会改变。

答案 1 :(得分:0)

您没有指定返回的记录数与您有关。 LIMIT应该返回4个记录的MAX,如果查询不会返回至少4个记录则更少。如果您有超过4条记录返回,那么您就遇到了问题。