1

任何人都可以帮我处理我的代码吗?

我在数据库中有一个名为“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

这里可能是什么问题?

4

2 回答 2

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 扩展。

于 2013-10-28T09:07:49.937 回答
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());
于 2013-10-28T09:06:00.540 回答