我正在尝试将 X 个月添加到从我的数据库中获取的日期
$sql_batch = "SELECT * FROM mgm_subscription WHERE status = '1'"
$query_batch = mysql_query($sql_batch);
$row_batch = mysql_fetch_array($query_batch);
$addMonth = 3;
$startDate = $row_batch['start_month'];
$endDate = strtotime('+'.$addMonth.' month', $startMonth); // add number of days from form
$endDate = date('m/d/y H:i:s', $endDate );
$sql_date = "INSERT INTO user_subscription (user_id, start_month, end_month, sub_status) VALUES ('".$usercode2."','".$startDate."','".$endDate."', '')";
$query_date = mysql_query($sql_date);
NULL 被插入到 end_month 中。 start_month和end_month是mysql中的DATE类型
我该如何解决这个问题? tq。
最佳答案
如果我理解你的问题,你的$endDate
应该是
$endDate = date('Y-m-d', strtotime($startDate.' +'.$addMonth.' months'));
所以这相当于:
$endDate = $startDate + 3 months /* in Y-m-d format */
编辑:刚刚看到您的列数据类型是日期
。这意味着您无法在日期中存储时间戳。它必须是 Y-m-d
格式,因为这是受支持的有效 mysql 格式。
关于php - 向日期添加月份并插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925248/