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值吗?