我在将一个递增的日期输入MySQL数据库时遇到了一些麻烦。该字段的类型为DATE
。
首先,我使用以下代码增加日期:
if($_POST['membershipLength'] == "6 Months") {
$renew = mktime(0, 0, 0, date("m")+9, date("d"), date("y"));
}
然后我希望在数据库的列中输入:date("m/d/y", $renew)
。
谁能看到我哪里出错了?它插入的值由0组成,我假设它是默认值。
答案 0 :(得分:5)
MYSQL日期字段具有以下格式“Y-m-d”,类似于“2010-11-04”。您正在尝试将值插入为“2010/04/11”。将您的第一个参数更改为“Y-m-d”,它应该有效:)
答案 1 :(得分:2)
试试这个:
date ("Y-m-d H:i:s", $renew);
MySQL喜欢特定格式的日期。
答案 2 :(得分:2)
MySQL中的日期格式为YYYY-MM-DD,您正在使用Y-M-D插入M-D-Y尝试它将解决您的问题
答案 3 :(得分:1)
我尝试了你的代码并且工作得很好,除了一件事。如果你想增加6个月,你为什么要在几个月内增加9个?
if($_POST['membershipLength'] == "6 Months") {
$date = mktime(0, 0, 0, date("m")+6, date("d"), date("Y"));
$renew = date("Y-m-d", $date);
} elseif($_POST['membershipLength'] == "9 Months") {
$date = mktime(0, 0, 0, date("m")+9, date("d"), date("Y"));
$renew = date("Y-m-d", $date);
} elseif($_POST['membershipLength'] == "12 Months") {
$date = mktime(0, 0, 0, date("m")+12, date("d"), date("Y"));
$renew = date("Y-m-d", $date);
}
答案 4 :(得分:1)
感谢大家的帮助。我所做的错误以及你所有建议的更正是我正在检查一个不匹配的值。傻傻的我!