在空值中插入日期

我正在插入日期。当日期设置时,它起作用,否则,它不起作用。

DateBirth类型为日期,默认值为NULL。

这是我的PHP

$date_birth = isset($_POST['date_birth']) ? $_POST['date_birth'] : NULL;

这里是mysql

$adding_birth = "INSERT INTO person (DateBirth) VALUES ('$date_birth')";

如何获取空的日期字段?


暮色呼如
浏览 73回答 2
2回答

回首忆惘然

您当前正在将 NULL 作为字符串添加到数据库中。您必须将 SQL 命令重写为:$date_birth = isset($_POST['date_birth']) ? "'" . $_POST['date_birth'] . "'" : 'NULL';$adding_birth = "INSERT INTO person (DateBirth) VALUES ($date_birth)";当您在 SQL 前面执行 echo 时,您将得到,在您的情况下为 NULL:$adding_birth = "INSERT INTO person (DateBirth) VALUES ('NULL')";正确的是:$adding_birth = "INSERT INTO person (DateBirth) VALUES (NULL)";

料青山看我应如是

您需要将NULL其作为字符串:$date_birth = isset($_POST['date_birth']) ? $_POST['date_birth'] : 'NULL';当 PHP 替换查询字符串中的变量时 -$date_birth被空字符串替换,而您需要字符串 NULL
打开App,查看更多内容
随时随地看视频慕课网APP