我有很多输入
框。每个输入框都与一个 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。
关于php - 使用空值/无值更新 INT/DECIMAL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21593397/