回应查询中的日期

时间:2011-08-31 04:11:30

标签: php mysql

我希望下面的$minutes是查询中最早的datecommented(以分钟为单位表示)。当我回复$minutes时,我得到一个空白的结果。我做错了什么?

$queryuidcount = "SELECT loginid, datecommented 
    FROM comment 
   WHERE (HOUR(NOW()) - HOUR(datecommented)) <= 1 
     AND loginid = '$uid' 
ORDER BY datecommented ASC
   LIMIT 1'"; 
$row2 = mysql_fetch_array($queryuidcount);
$minutes = $row2["datecommented"];

2 个答案:

答案 0 :(得分:0)

我认为你是以错误的方式做到的。在这里你可以找到一些例子。

mysql_fetch_array不用于数据库连接或SQL查询。

http://php.net/manual/en/function.mysql-fetch-array.php

答案 1 :(得分:0)

在对结果调用mysql_query()之前,您需要对查询执行mysql_fetch_array()。试试这个:

$result = mysql_query('SELECT loginid, datecommented FROM comment WHERE (HOUR(NOW()) - HOUR(datecommented)) <= 1 AND loginid = '$uid' ORDER BY datecommented ASC LIMIT 1');

$row = mysql_fetch_array($result);

$minutes = $row['datecommented'];

如果您的查询返回多行,您需要使用while循环遍历它们:

while($row = mysql_fetch_array($result)) {
    //Fetch values from $row
}

另外,请考虑使用PDO而不是mysql函数系列。