我有很多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;
}
答案 0 :(得分:2)
将$ variable1设置为"NULL"
(字符串)。这样它最终会在查询中以NULL
结束,这就是SQL中的NULL。
答案 1 :(得分:1)
也许将空检查的代码更改为
if (is_null($myVariable)) {
$sql .= "$columnName= NULL";
} else {
$sql .= "$columnName= '" . mysql_real_escape_string($myVariable) . "'";
}
然后为每个值调用它,它将使其为空或引用它