php - mySQL更新用户信息保存null

标签 php mysql null save string

我真的不知道从哪里开始。我研究了代码好几天了,但似乎找不到任何可以插入我已有代码的东西。

我觉得我想做的事情非常基本;允许用户通过删除配置文件字段的内容并将其另存为空白值来更新配置文件字段。因此,当它为空时,我有另一个代码选择在它为空时不显示该特定信息。

此时,该字段开始为空白,如果他们在注册时将其保留为空白,则该字段将保持空白,但如果在任何时候他们保存了一些信息,则信息始终存在。如果您删除它并更新个人资料,您删除的相同信息仍然会显示。

我有几个一起工作的文件,因此我很难缩小需要编辑的代码部分以允许保存空值。我发现了一个看起来像是更新字段的通用函数 - 它不特定于任何一个字段(fname、lname、email 等)。

  function updateUserField($username, $field, $value){
  $q = "UPDATE ".TBL_USERS." SET ".$field." = '$value' WHERE username = '$username'";
  return mysql_query($q, $this->connection); }

我假设这是我需要编辑的代码部分,以允许保存字段,即使它们是空白的,但我不确定什么格式:

if (empty

放置以及如何将其放置在这个特定的代码片段中。

最佳答案

您可以通过使用 "" (空白字符串)而不是使用 NULL 在数据库中显示空单元格来简化操作。这样,您将覆盖浏览器表单缓存,并且在显示内容时不需要其他操作(例如检查它是否为 NULL...)。

处理表单数据时,如果该字段未填充数据,$_POST["field"] 将返回 ""

此外,您还可以通过将查询分组为一个查询来减少数据流量。下面是一个示例,如果您有三个字段。

$q = "UPDATE ".TBL_USERS." SET ".$field_1." = '$value1',  ".$field_2." = '$value2',  ".$field_3." = '$value3' WHERE username = '$username'";

或者使用数组并将其传递给具有上述查询的函数。

关于php - mySQL更新用户信息保存null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22141915/

相关文章:

php - 如何使用自定义 php MVC 创建函数并将变量传递给它

php - 巨大的帖子状态表,从前 100 名中随机选择

mysql - 在子日期之间的父日期之间加入自身

C - 为什么 fopen(filename, "r") 之后 fp == NULL true?

php - CodeIgniter 错误 - 无法使用提供的设置连接到数据库

php - 识别单击的 anchor 标记以到达服务器端脚本

php - ZF3 从表达式创建 SELECT 查询

php - 导出到 ExCel 显示某些列为空

language-agnostic - 什么时候处理空指针/引用异常优于进行空检查?

C - 为空指针赋值