数据库:
DAlanding int(11)Ja NULL
$DAlanding = $_POST['DAlanding '];
if ($DAlanding =="")
{
$DAlanding =NULL;
}
$sql = "INSERT INTO cardex (DAlanding) VALUES('$DAlanding')";
但现在我需要它来约会:
DAdate date Ja NULL
$DAdate = $_POST['DAdate '];
if ($DAdate =="")
{
$DAdate = 'NULL';
}
$sql = "INSERT INTO cardex (DAdate) VALUES('$DAdate')";
答案 0 :(得分:1)
要插入NULL
,您需要在没有引号的情况下传递它。
$DAlanding = isset($_POST['DAlanding']) && $_POST['DAlanding'] != '' ? "'" . $_POST['DAlanding'] . "'" : 'NULL';
$sql = "INSERT INTO cardex (DAlanding) VALUES($DAlanding)";
您应该查找SQL注入,因为您正在插入原始用户输入,从而创建漏洞。
答案 1 :(得分:0)
将NULL设为字符串“NULL”。那么SQL就是正确的。
if ($DAlanding =="")
{
$DAlanding ="NULL";
}
$sql = "INSERT INTO cardex (DAlanding) VALUES($DAlanding)";
答案 2 :(得分:0)
我很惊讶您在尝试将STRING
值插入int
列时未收到错误。
通常,您省略了不想在
答案 3 :(得分:0)
将数据类型设置为varchar或char。如果我们使用int将其自动分配0到相应的字段。
答案 4 :(得分:0)
试试这个
if ($DAdate =="")
{
$DAlanding= NULL;
}
else{
$DAlanding= "'".$DAdate."'";
}
$sql = "INSERT INTO cardex (DAlanding) VALUES($DAlanding)";
删除$ DAlanding之前和之后