Php Codeigniter-如何更新记录?
当数据移动到更新时,上述代码会更新数据库记录 程序中的表,例如:Php Codeigniter-如何更新记录?,php,codeigniter,Php,Codeigniter,当数据移动到更新时,上述代码会更新数据库记录 程序中的表,例如: $this->db->where('user_id', $agent_id); $result = $this->db->update('users', $update_array); 但是,当从中捕获地址数据时,上述代码不会更新数据库记录 表格 在这两种情况下,print\u r($update\u array)显示数据在那里,在这两种情况下$result都等于1,这意味着更新成功 谢谢你的帮助。试试
$this->db->where('user_id', $agent_id);
$result = $this->db->update('users', $update_array);
但是,当从中捕获地址数据时,上述代码不会更新数据库记录
表格
在这两种情况下,print\u r($update\u array)代码>显示数据在那里,在这两种情况下$result都等于1,这意味着更新成功
谢谢你的帮助。试试这个
$upadte_array['us_address']="54 George street";
或
您的代码是源代码的复制和粘贴吗?因为如果是这样,您就有一个输入错误:
$this->db->update('users', $update_array, "user_id = {$agent_id}");
应该是
$upadte_array['us_address']="54 George street";
请显示$agent_id和$update_数组需要更新的值的数量。如果您只想更新一个值,请尝试使用$this->db->set()代码>是,它可能会解决问题。在我怀疑变量名输入的时候,我会复制我确信正确的变量名,然后尝试通过编辑器查找变量的所有实例。很多时候,一个实例没有突出显示,我删除并粘贴变量名,而不是更正它。你是对的,上面有一个输入错误,但这个输入错误在程序中不存在。请注意,当我们在程序中移动数据时,例如($update_array['us_address']=“54 George street”),它会正确更新,但当从(监视器)中捕获数据时,数据库记录上的值不会更新。这里有一个误解,我在移动程序($update_array)中的数据时提到过['us_address']=“54 George street”)它会正确更新,但当从表单(监视器)捕获数据时数据将不会更新数据库记录。当数据将从表单更新时,请在更新之前感谢Bug并验证变量。当您从表单发布数据时,您在做什么?作为对变量的调试和验证。我会打印($update\u array);这会正确显示从表单捕获的所有数据,并且这些数据都在相关变量中,但数据库记录会使用空白字段进行更新,而当我执行$update_array['us_address']=“54 George street”;然后数据库记录得到正确更新。听起来更新查询不喜欢从表单捕获的数据,而是喜欢打印($update\u数组);在这两种情况下都正确显示了所有数据,无论是来自表单还是移动到程序中的变量中。感谢您的回答。是否有人可以帮助您:给您一个提示,这个问题只发生在Codeigniter环境中。我在Codeigniter环境外测试了该主题,MySql工作正常并更新了数据库在这两种情况下都要记录,包括从表单中捕获数据时。我认为,我们需要关注codeigniter环境中与MySql数据库相关的所有程序和微程序,总之,我们必须找出是什么原因导致codeigniter对MySql产生如此大的影响。Thanks@user1376064请添加打印结果($update\u数组)这样我才能理解关联数组
$upadte_array['us_address']="54 George street";
$update_array['us_address']="54 George street";