我正在我的页面上运行查询,它返回错误的结果。 这是我的代码:
$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;
}
}
问题是,它返回的是SECOND记录,而不是最近的ID。但是,奇怪的是,如果我在MySQL的查询窗口中运行它,它会返回正确的记录。
这是它应该返回的记录上的数据: id:53,videoid:abc123,expire:1335596400,home:1,active:1
有人对此有任何想法吗?
答案 0 :(得分:2)
1335596400
为28 april
,显然不是time()
的结果;
您似乎正在使用MySQL中的另一个时间戳(或根本没有时间戳)运行查询
答案 1 :(得分: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”;