如果表单字段为空,则在SQL中插入null值


Inserting a null value into SQL if form field blank

如果表单字段为空,但运气不佳,我正试图向数据库中添加一个null值。。。

有人看到哪里出了问题吗??

<?php
$con = mysql_connect("ipaddress","user","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("database", $con);
if (is_null($_POST["event_sub"]) || $_POST["event_sub"]=="") {
    $event_sub = NULL;
} else {
    $event_sub = mysql_real_escape_string($_POST["event_sub"]);
}
$sql="INSERT INTO myTable (event_sub)
VALUES
(". $event_sub .")";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
mysql_close($con)
?>

也许可以试试这个:

if (is_null($_POST["event_sub"]) || $_POST["event_sub"]=="") {
$event_sub = 'NULL';
} else {
$event_sub = mysql_real_escape_string($_POST["event_sub"]);
}

将NULL放在单引号中会导致在查询中插入单词NULL,而不是实际的NULL,这根本不是什么。

为什么需要搜索单词NULL?只需将该列的插入项留空即可。并确保在表中设置了allow null。。