我有很多 input
盒子。每个输入框都与INT或十进制MySQL字段链接,并在文本框中显示。
每个INT/DECIMAL的默认值是null
,因此当用户首次打开页面时,文本框中没有显示任何内容。
我有一个更新查询,将每个输入框的值更新为尊敬的mysql字段。
我的问题是,对于每个输入任何输入的输入框,字段的值从null切换到0
。
我在找出一种将未接触的输入更新为空的方法很难,而我所有的未触摸值都没有到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;
}
将$变量设置为 "NULL"
(字符串)。这样,它将最终以NULL
的形式进入查询,这就是代表null中的null。
也许将null检查代码更改为
if (is_null($myVariable)) {
$sql .= "$columnName= NULL";
} else {
$sql .= "$columnName= '" . mysql_real_escape_string($myVariable) . "'";
}
然后以每个值调用此功能,它将将其取消或引用