Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在null中插入日期_Php_Mysql - Fatal编程技术网

Php 在null中插入日期

Php 在null中插入日期,php,mysql,Php,Mysql,我正在插入日期。它在设置日期时起作用,否则不起作用 DateBirth类型为date,其默认值为NULL 这是我的php $date_birth = isset($_POST['date_birth']) ? $_POST['date_birth'] : NULL; 这里是mysql $adding_birth = "INSERT INTO person (DateBirth) VALUES ('$date_birth')"; 如何获取空的日期字段?您需要将null作为字

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

DateBirth类型为date,其默认值为NULL

这是我的php

$date_birth = isset($_POST['date_birth']) ? $_POST['date_birth'] : NULL;
这里是mysql

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

如何获取空的日期字段?

您需要将
null
作为字符串:

$date\u birth=isset($\u POST['date\u birth'])$_POST['date_birth']:'NULL';

当PHP替换查询字符串中的变量时-
$date\u birth
被空字符串替换,而您需要一个字符串NULL

您当前正在将NULL作为字符串添加到数据库中。 您必须将SQL命令重写为:

$date_birth = isset($_POST['date_birth']) ? "'" . $_POST['date_birth'] . "'" : 'NULL';
$adding_birth = "INSERT INTO person (DateBirth) VALUES ($date_birth)";
当您在SQL前面执行回显时,您将得到一个空值:

$adding_birth = "INSERT INTO person (DateBirth) VALUES ('NULL')";
正确答案是:

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

如果
日期出生
非空
我已将其设置为空“$date\u birth”表示字符串
为空
,您的
日期时间
字段不可接受的方式我认为您已将数据库中的
日期出生
列设置为
非空
。使用准备好的语句这有助于防止空值,也有助于空值查看您自己是否尝试过此代码?@AnuragSrivastava我尝试过此代码,但得到的日期值不正确消息。@如果是,问题是针对Distdev@AnuragSrivastava因为你结束了这个问题