$data = array(
'date' => $time,
'boxoffice'=> $boxoffice,
'upcoming'=> $upcoming,
'intheaters'=> $intheaters,
'opening' => $opening,
'user' => $users,
'movie' => $movies,
'star' => $actors,
'diractor' => $directores,
'writer' => $writeres,
'cast' => $casts,
'comment'=> $comment,
'image' => $images,
'genre' => $genre,
'country'=> $countrycode
);
try {
$this->db->insert('muvidb_updatehistory',$data);
}
catch (Exception $e){}
我的项目中有上面的代码,起初看起来工作正常但是当我查看我的表时,值插入了三次。我是codeigniter的新手,我遇到了这个问题。
任何人都知道为什么会这样?
答案 0 :(得分:0)
您是否检查过是否有某种重写技巧或开发调试工具可以访问该URL 3次? (甚至是推荐人搜索机器人等等......)
这就是为什么你应该在插入数据之前验证它是一个POST请求。遵守HTTP规范的GET请求不应改变数据......
答案 1 :(得分:0)
您的双重提交检查可能很差。更多信息,请参阅我的答案:duplicate data insert in CodeIgniter
在这种情况下,最好的选择是查看数据是否已经存在,如果存在,则更新它而不是插入。我稍后会添加一个例子。