更新具有零/无值的INT/DECIMAL字段



我有很多 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) . "'";
}

然后以每个值调用此功能,它将将其取消或引用

相关内容

  • 没有找到相关文章

最新更新