时间戳上的奇怪的mysql行为

And*_*eas 0 php mysql mysqli

请看一下这个mysql查询.它应该做的非常简单 - 列出日期,从不超过10天的时间戳创建.

它有效但不完美......

  • 如果我只有1个时间戳匹配,我有0个结果.
  • 如果我有2个时间戳匹配,我有1个结果.
  • 如果我有3个时间戳匹配,我有2个结果
  • ... 等等...

因此,查询总是忽略表中的最新时间戳,为什么?

$timestamp_now = date('U');
$timestamp_10_day_back = $timestamp_now - 864000;

mysql_select_db("$db_visitors");
$sql = "SELECT DATE(FROM_UNIXTIME(visitors_timestamp))
        FROM visitors
        WHERE visitors_timestamp > $timestamp_10_day_back
        ORDER BY visitors_timestamp DESC";
$sql = mysql_query($sql);
$row = mysql_fetch_array($sql);

while($row = mysql_fetch_array($sql)) {
    echo $row[0] . "<br>";
}
Run Code Online (Sandbox Code Playgroud)

Vyt*_*tas 7

只需删除

$row = mysql_fetch_array($sql);
Run Code Online (Sandbox Code Playgroud)

...吞下你的第一个结果