PHP致命错误:调用非对象的成员函数diff()...比较数据库中的DateTime

时间:2015-11-05 16:47:50

标签: php mysql database datetime

我试图比较两个不同的DateTime并获得差异。

我得到此错误PHP致命错误:在...中尝试运行/编译我的代码时,在非对象上调用成员函数diff()但是无法弄清楚我做错了什么。

$datetime = date("Y-m-d H:i:s");
$localhost = "localhost";
$conn = mysqli_connect($localhost, $mysqlUsername, $mysqlPassword, $mysqlDB);

if (!$conn)
{
        die("Connection failed: " . mysqli_connect_error());
        echo "Connection to DB failed";
}

$sql = "SELECT * FROM UniqueUsers";
$result = mysqli_query($conn, $sql);

if ($result->num_rows > 0 )
{
        while($row = $result->fetch_assoc())
        {
                $datetime1 = new DateTime($row['worldtime']);
                $interval = $datetime->diff($datetime1);
                echo $interval->format('%R%a days');
        }
}

1 个答案:

答案 0 :(得分:1)

您的$datetime变量不是对象。函数 date() 不返回DateTime对象,而是返回格式化字符串。

替换你的第一行
$datetime = new DateTime(date("Y-m-d H:i:s"));