好的,所以在我的 mysql 数据库中我使用了一个日期字段。我使用 PHP 检查用户是否年满 18 岁。然后我尝试将所有表单信息输入到我的 MySQL 数据库中以创建用户。我不断得到一个空白屏幕(除了我的导航栏和页脚)用户没有被保存到数据库中,错误日志显示这个错误:PHP 可恢复的 fatal error :类 DateTime 的对象无法转换为字符串... .
$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;
}
}
所以问题是,我是否需要将 dateTime Obj 转换为字符串才能让 MySQL 接受它?该字段设置为保存“日期”,所以我认为日期 obj 是同一回事?如何将其更改为字符串。
最佳答案
您正在返回 DateTime 对象,因为 format
函数返回一个字符串,它不会更改对象。尝试返回格式函数的结果,即 formatted string .
return $dateObj->format('Y-m-d');
关于php - MySQL数据库和导入日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48065032/