首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL插入将日期设置为30.11.0001(如果为空)

MySQL插入将日期设置为30.11.0001(如果为空)
EN

Stack Overflow用户
提问于 2019-10-23 14:54:40
回答 1查看 175关注 0票数 0

我有一个表单,可以在其中插入一些正在存储在服务器中的数据。

表单包含许多日期字段。我注意到,如果将日期字段留为空,则将其设置为30.11.-0001

如果日期字段为空,我如何才能存储空字符串?

在phpmyadmin中,日期字段的默认值设置为NULL。

插入方法:

代码语言:javascript
复制
public function insert($data)
{
    if (empty($data)) {
        error_log(get_class() . " - " . __FUNCTION__ . " : data not set or empty");
        return false;
    }

    $now = date("Y-m-d H:i:s");

    $sql = " INSERT INTO ". self::TABLE
            ." ( "
                . "  property_id"
                . ", country_id"
                . ", property_item_type_id"
                . ", prio"
                . ", reg_date"
                . ", reg_no"
                . ", files_no"
                . ", release_date"
                . ", entry_date"
                . ", status"
                . ", runtime_max"
                . ", runtime_payed"
                . ", prio_date"
                . ", info"
                . ", create_date"
                . ", create_by"
                . ", update_date"
                . ", update_by"
            . " ) "
        . " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

    $stmt = $this->con->prepare($sql);
    $stmt->bind_param(
        "iiiissssssssssssss"
        // i
        ,$data["property_id"]
        ,$data["country_id"]
        ,$data["property_item_type_id"]
        ,$data["prio"]
        // s
        ,$data["reg_date"]
        ,$data["reg_no"]
        ,$data["files_no"]
        ,$data["release_date"]
        ,$data["entry_date"]
        ,$data["status"]
        ,$data["runtime_max"]
        ,$data["runtime_payed"]
        ,$data["prio_date"]
        ,$data["info"]
        ,$now
        ,$data["email"]
        ,$now
        ,$data["email"]
    );
    $stmt->execute();

    $message["error"] = "Unable to insert new item!";
    return $this->checkAffectedRows($stmt, $message);
}
EN

回答 1

Stack Overflow用户

发布于 2019-10-23 15:26:25

解决方案是检查这些值是否为空,并将其设置为NULL,然后将其存储到数据库中。

代码语言:javascript
复制
$data["release_date"] = (strtotime($data["release_date"]) === false) ? NULL : $data["release_date"];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58525671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档