Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 如果表单字段为空,则在SQL中插入空值_Php_Sql_Null - Fatal编程技术网

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

Php 如果表单字段为空,则在SQL中插入空值,php,sql,null,Php,Sql,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["e

如果表单字段留空,但运气不好,我尝试向数据库中添加空值

有人能看出哪里出了问题吗

<?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..

Dump
$\u POST
$sql
。问题应该会变得更加明显。”但是运气不好[…]有人能看到“是的,你。输出查询,查看MySQL中的错误,检查数据库中的数据。您是否尝试设置
$event\u sub=“null”
?@CodeCaster我对PHP非常陌生,请原谅我的天真。谢谢你的建议。@Tom是的,仅仅通过查看代码来发现问题可能需要一些经验,但是通过适当的调试,你可以得出相同的结论。这不仅会产生一个更好的问题,甚至可以在不发布问题的情况下为您提供解决方案,因为您将亲自看到问题。;-)@Tom你确定它没有插入文本“NULL”而不是实际的NULL值吗?