php - MySQL数据库和导入日期问题

标签 php mysql datetime

好的,所以在我的 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/

相关文章:

php - 同名的 Slug ID?

PHP/MySQL - 根据另一个结果选择

mysql - 数据库主键必须是整数吗?

mysql:显示表-定义列名

ruby-on-rails - 如何使此时间断言与时间、日期或日期时间完美匹配

php - 将新文件名存储在 mysql 数据库中 verot class.upload.php

php - 如何在php中连接两个数据库?

c# - 计算今天是否是即将到来的周年纪念日(基于某个开始日期)的最佳方法是什么?

datetime - 确定到期日期是否距离当前日期 12 天

PHP 从函数返回一个字符串供稍后使用?