我真的不知道从哪里开始。我研究了代码好几天了,但似乎找不到任何可以插入我已有代码的东西。
我觉得我想做的事情非常基本;允许用户通过删除配置文件字段的内容并将其另存为空白值来更新配置文件字段。因此,当它为空时,我有另一个代码选择在它为空时不显示该特定信息。
此时,该字段开始为空白,如果他们在注册时将其保留为空白,则该字段将保持空白,但如果在任何时候他们保存了一些信息,则信息始终存在。如果您删除它并更新个人资料,您删除的相同信息仍然会显示。
我有几个一起工作的文件,因此我很难缩小需要编辑的代码部分以允许保存空值。我发现了一个看起来像是更新字段的通用函数 - 它不特定于任何一个字段(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/