php - 使用空值/无值更新 INT/DECIMAL 字段

标签 php mysql sql null sql-update

我有很多输入框。每个输入框都与一个 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/

相关文章:

php - 添加单选按钮

php - 在mysql中将单元格从一个表复制到另一个表

php - 无需批量处理 “connect”两个Docker容器的最佳方法

php - 需要根据 xampp 服务器中的下拉菜单更新图表

php - Preg 匹配 {{statement}} 表达式

php - 在 INSERT 期间我不应该引用哪些 MySQL 数据类型?

mysql - 统计在接下来 7 天内同一日期预订的所有人数

java - Java 中的正则表达式字符串

php - 使用第一个查询中的变量从第二个查询中获取结果时出错

php - 使用 PHP 在 sql 查询中传递字符串数组