PHP date() - 插入MySQL数据库

时间:2010-11-04 12:59:02

标签: php mysql date

我在将一个递增的日期输入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组成,我假设它是默认值。

5 个答案:

答案 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)

感谢大家的帮助。我所做的错误以及你所有建议的更正是我正在检查一个不匹配的值。傻傻的我!