1

我在我的页面上运行一个查询,它返回了错误的结果。这是我的代码:

$timestamp = time();
$query = "SELECT * FROM videos WHERE expire >= $timestamp AND home = 1 AND active = 1 ORDER BY id DESC LIMIT 1";
$result = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($result) > 0) {
    $row = mysql_fetch_array($result);
    foreach ($row as $key => $value) {
        $$key = $value;
    }
}

问题是,它返回的是第二条记录,而不是最近的 ID。但是,奇怪的是,如果我在 MySQL 的查询窗口中运行它,它会返回正确的记录。

这是它应该返回的记录上的数据:id:53,videoid:abc123,expire:1335596400,home:1,active:1

有人对此有任何想法吗?

4

2 回答 2

2

133559640028 april,所以 cleary 不是来自time(); 似乎您正在使用 MySQL 中的另一个时间戳(或根本没有时间戳)运行查询

于 2012-05-09T18:52:44.180 回答
0

使用 $query = "SELECT * FROM videos WHERE expire >= $timestamp AND home = 1 AND active = 1 ORDER BY id DESC LIMIT 0,1";

反而

$query = "SELECT * FROM videos WHERE expire >= $timestamp AND home = 1 AND active = 1 ORDER BY id DESC LIMIT 1";

于 2012-05-09T20:04:25.953 回答