好的,在mysql数据库中,我使用了一个日期字段。我使用PHP检查用户是否18岁。然后,我尝试将所有表单信息输入MySQL数据库以创建用户。我一直得到一个空白屏幕(除了我的导航栏和页脚),用户没有被保存到数据库中,错误日志显示这个错误:PHP Recoverable fatal error:Object of class DateTime could not be converted to string in。。。。

$age = checkAge($_POST["birthday"]);
if($age != false)
{
  $ageSuc = "All Good!";
}
else ....


function checkAge ($data)
{
  $dateObj = new DateTime($data);
  $ageLimit = new DateTime('-18 years');
  if ($dateObj > $ageLimit)
  {
   return false;
  }
  else
  {
    $dateObj->format('Y-m-d');
    return $dateObj;
  }
}

所以问题是,在MySQL接受之前,我需要将dateTime Obj转换成一个字符串吗?字段设置为保留“日期”,所以我认为日期obj是相同的东西?如何将其更改为字符串。

最佳答案

您返回的是DateTime对象,因为format函数返回一个字符串,它不会更改该对象。尝试返回format函数的结果,即formatted string

return $dateObj->format('Y-m-d');

09-25 13:52