有人可以帮我解决我的代码吗?
我在数据库中有一个名为“Date”的表,其字段名称为“mydate”,它包含以下数据
2011-02-02 00:00:00
2011-01-02 00:00:00
2010-03-02 00:00:00
2010-01-03 00:00:00
2008-03-03 00:00:00
2008-02-03 00:00:00
然后我创建查询并获得其结果
$result=mysql_query("select DATE(mydate) as Date, subject, update_id, description, image from news ORDER BY Date DESC LIMIT 3")or die (mysql_error());
如您所见,我只从$ result中获得3个数据。现在,当我从$ result到达最后一行时,我将它存储在名为“$ _SESSION ['val']”的会话中。 因此,$ _SESSION ['val']的值是2010-03-02 00:00:00
之后,我将该会话存储到“$ val_date”并创建一个查询。这是我的代码:
$val_date = $_SESSION['val'];
$result=mysql_query("select DATE(mydate) as Date, subject, update_id, description, image from news WHERE Date < $val_date ORDER BY Date DESC LIMIT 3")or die (mysql_error());
$count = mysql_num_rows($result);
问题是,$ count = 0应该是$ count = 3,因为它会根据查询读取以下数据:
2010-01-03 00:00:00
2008-03-03 00:00:00
2008-02-03 00:00:00
这可能是什么问题?
答案 0 :(得分:2)
查询可能会失败,因为您忘记将字符串分隔符(单引号)放入mysql字符串中的日期。
mysql_query("select DATE(date) as Date, subject, update_id, description, image from news WHERE Date < '$val_date' ORDER BY Date DESC LIMIT 3");
但你应该使用PDO或mysqli而不是旧的不推荐的mysql扩展。
答案 1 :(得分:0)
不确定,但是您说明您的专栏名为mydate,但您是否写了日期?
试试这个
$result=mysql_query("select DATE(mydate) as Date, subject, update_id, description,
image from news ORDER BY mydate DESC LIMIT 3")or die (mysql_error());