PHP Mysql空白日期字段值提交

时间:2012-12-08 08:59:43

标签: php mysql

在我的表单上,我有一个不是必填字段的日期字段。我的问题是,如果用户没有填写此字段并且他们在mysql数据库上提交表单,而不是将该字段留空,则它将保存1969-12-31以及在同一天提交的任何后续表单如果此字段再次留空,则将具有1969-12-31的升序日期。我该怎么做才能让mysql将该字段留空。谢谢你的阅读。

以下是代码:

<input id="nfud" name="nfud" type="date" class="input-small"/>

Mysql提交查询

$nfud = date('Y-m-d', strtotime($_POST["nfud".$n.""]));
$query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','".$nfud."','$dealID')";
        mysql_query($query) or die(mysql_error());

3 个答案:

答案 0 :(得分:2)

如果您没有在表单中发布日期,请将字段留空:

if(isset($_POST["nfud$n"]) {
    $nfud = date('Y-m-d', strtotime($_POST["nfud$n"]));
} else {
    $nfud = "";
}
$query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."', '".$nfud."','$dealID')";
        mysql_query($query) or die(mysql_error());

编辑:试试这个让MySQL为你的列添加默认值

if(isset($_POST["nfud$n"]) {
    $nfud = date('Y-m-d', strtotime($_POST["nfud$n"]));
    $query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
            values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','".$nfud."','$dealID')";

} else {
    $query="insert into number_info (phone_number, data_plan, phone_used, dealID) 
            values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','$dealID')";
}

mysql_query($query) or die(mysql_error());

答案 1 :(得分:0)

在mysql中

,给日期字段一个默认值0。

答案 2 :(得分:0)

可以使用默认设置和其他设置在mysql端控制。

你可以在mysql中运行以下命令并分享结果吗?

SHOW CREATE TABLE number_info;