我在使用mysql时遇到了一些问题。那么这是我的代码
class store_info{
function store_info(&$bean, $event, $arguments){
$id = $bean->id;
$name = $bean->user_name . ' ' .$bean->last_name;
$user_hash = $bean->user_hash;
$query1 = "INSERT INTO sohan_password_management (id_user, name, user_password, register_date, prompt_date, deadline) VALUES('$id', '$name', '$user_hash', NOW(), NOW() + INTERVAL default_prompt_date DAY, NOW() + INTERVAL default_deadline DAY)";
$result1 = $bean->db->query($query1, true);
$bean->save();
}
}
?>
每当我运行此代码时,数据都会存储在数据库中,但它存储了11次。我的意思是相同的数据在数据库中存储多次。我可以知道这里有什么问题吗?直到昨天它工作正常。我现在不知道发生了什么事。
答案 0 :(得分:0)
我之前遇到过类似的问题。这是由于网络连接速度缓慢并重新加载同一页面而不断向表格提交输入。为了解决这个问题,我创建了一个if语句来检查提交的每个项目的值,如果某个数字与表中的当前列的值相同,我告诉它不要输入数据。 在包含这个if语句之后,它对我来说非常有用。 不确定您是否可以将相同的解决方案应用于您的数据集,但我希望这会有所帮助。
答案 1 :(得分:0)
尝试评论/删除$ bean-> save(); 我认为这是一个after_save逻辑钩子,它正在执行多次。 另外,也请查看这篇文章。 http://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.5/03_Module_Framework/Logic_Hooks/Examples/Preventing_Infinite_Loops_with_Logic_Hooks/
答案 2 :(得分:0)
您正在逻辑挂钩中调用bean save,这就是bean多次保存记录的原因。 您无需在钩子中调用保存功能。