Php 显示过去7天的结果
我想做的是显示过去30天的文章,但我的代码一直给我一个mysql_fetch_assoc错误,然后可以追溯到我的查询 代码如下:Php 显示过去7天的结果,php,mysql,sql,Php,Mysql,Sql,我想做的是显示过去30天的文章,但我的代码一直给我一个mysql_fetch_assoc错误,然后可以追溯到我的查询 代码如下: $sql = mysql_query("SELECT * FROM table WHERE DATE (datetime) = (CURDATE() - INTERVAL 7 DAY) ORDER BY ID DESC"); while (
$sql = mysql_query("SELECT *
FROM table
WHERE DATE (datetime) = (CURDATE() - INTERVAL 7 DAY)
ORDER BY ID DESC");
while ($runrows = mysql_fetch_array($sql))
有人能给我一些如何使代码正常工作的建议吗?这里是错误
警告:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源
试试这个:
$sql = mysql_query("SELECT * FROM table WHERE DATE (datetime) > DATE_SUB(CURDATE(), INTERVAL 7 DAY) ORDER BY ID DESC");
我改变了两件事:
DATE\u SUB()
减去日期=
而不仅仅是=
查找过去一周的所有日期我认为您不需要在
WHERE
子句上添加“
”。而不是
尝试:
比如:
$sql = mysql_query("SELECT *
FROM table
WHERE DATE BETWEEN '" . date('Y-m-d',strtotime('now')) . "' AND '" . date('Y-m-d',strtotime('-30 days')) . "'
ORDER BY ID DESC"
);
应该得到这样的结果:
SELECT *
FROM table
WHERE DATE BETWEEN '2011-07-26' AND '2011-06-26'
ORDER BY ID DESC
请注意,
date('Y-m-d')
是在数据库中记录日期的方式。因此,将其更改为与数据库类似的方式。请告诉我们您遇到的错误,好吗?该警告意味着您的查询失败,请将“mysql_query(…);”更改为“mysql_query(…)或die(mysql_error());”以获取更有意义的信息。我尝试过,但它仍然会给出相同的mysql fetch assoc error数据库中的日期格式是什么?通过在日期之间添加“”编辑了代码
$sql = mysql_query("SELECT *
FROM table
WHERE DATE BETWEEN '" . date('Y-m-d',strtotime('now')) . "' AND '" . date('Y-m-d',strtotime('-30 days')) . "'
ORDER BY ID DESC"
);
SELECT *
FROM table
WHERE DATE BETWEEN '2011-07-26' AND '2011-06-26'
ORDER BY ID DESC