[英]Update INT/DECIMAL field with a null/no value
我有很多input
框。 每个输入框都与INT或DECIMAL MySQL字段链接,并显示在文本框中。
每个INT / DECIMAL的默认值为null
因此,当用户首次打开页面时,文本框内不会显示任何内容。
我有一个更新查询,将每个输入框的值更新为受人尊敬的MySQL字段。
我的问题是,对于没有输入任何内容的每个输入框,该字段的值从NULL切换为0
。
我在想办法将未修改的输入更新为NULL时遇到麻烦,并且我的所有未修改的值都未变为0。有人可以帮忙吗?
定义变量基本上是这样的:
if(nullBlank($_POST['variable1']) == false)
$variable1 = $_POST['variable1'];
else
$variable = "";
我也尝试过: $variable = null;
我的更新查询基本上如下所示:
mysql_query("UPDATE `table` SET `variable1`= '" . $variable1 . "' WHERE something = something
我的nullBlank()函数
function nullBlank($data)
{
if(is_null($data))
$value = true;
elseif(strlen($data) <= 0)
$value = true;
elseif($data === "")
$value = true;
else
$value = false;
return $value;
}
将$ variable1设置为"NULL"
(字符串)。 这样,它将在查询中最终为NULL
,这在SQL中表示NULL。
也许将您的空检查代码更改为
if (is_null($myVariable)) {
$sql .= "$columnName= NULL";
} else {
$sql .= "$columnName= '" . mysql_real_escape_string($myVariable) . "'";
}
然后为每个值调用它,它将为null或引用它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.