我正在计算自帖子发布以来的日子。 SQL将日期和时间保存在pins
列中的表time
中。格式为2013-11-20 10:36:01。
我已经了解了如何在http://www.w3schools.com/sql/func_date_format.asp
上执行此操作并提出以下代码:
<?php
$dayssince = mysql_query("SELECT DATEDIFF(day,'CURDATE()','$pinDetails->time') AS DiffDate FROM pins WHERE id ='$pinDetails->id'");
?>
<?php echo $dayssince; ?>
其中$pinDetails->time
是数据库中的日期戳。
然而,没有任何显示,甚至没有错误编号。
编辑:
我使用此代码开始工作:
$result = mysql_query("SELECT DATEDIFF(CURDATE(), '$pinDetails->time')");
$dayssince = mysql_result($result, 0);
答案 0 :(得分:7)
您在MySQL中使用SQL Server函数语法。 MySQL的DATEDIFF
的正确语法是:
DATEDIFF(expr1,expr2)
例如,
SELECT DATEDIFF(CURDATE(), '2013-11-10 23:59:59')
返回
> 10
您可以使用表格中的列名替换示例中的静态日期。
使用DBMS文档