首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在时间戳上的奇怪的mysql行为

在时间戳上的奇怪的mysql行为
EN

Stack Overflow用户
提问于 2012-02-21 08:57:09
回答 3查看 102关注 0票数 0

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

起作用了但不是很完美..。

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

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

代码语言:javascript
复制
$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>";
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-21 09:00:44

只要移除

代码语言:javascript
复制
$row = mysql_fetch_array($sql);

...which正在吞咽你的第一个结果

票数 7
EN

Stack Overflow用户

发布于 2012-02-21 09:05:36

第一行由于行$row = mysql_fetch_array($sql);而被忽略,然后在while循环中再次调用它。把这一行移开。

票数 1
EN

Stack Overflow用户

发布于 2012-02-21 09:13:24

尝试下面的代码

代码语言:javascript
复制
$n=count($row);
if($n>0){
 for($i=0;$i<$n;$i++){
   echo $row[i];}}

代码语言:javascript
复制
print_r($row);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9374637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档