mySQL更新用户信息保存为null

时间:2014-03-03 08:29:05

标签: 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

放置以及如何将其置于此特定代码段中。

1 个答案:

答案 0 :(得分:0)

您可以使用""(空白字符串)而不是使用NULL在数据库中显示空单元格,从而轻松实现。这样,您将覆盖浏览器表单缓存,并且在显示内容时不需要执行任何其他操作(检查是否为NULL ...)。

处理表单数据时,如果此字段未填充数据,则$ _POST [“字段”]将返回""

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

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

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