mySQL更新用户信息保存为null



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

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

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

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

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["字段"]将返回一个""

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

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

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

相关内容

  • 没有找到相关文章

最新更新