ci事务问题
本帖最后由 visvoy 于 2009-8-26 17:01 编辑不知道下面哪写错了,有些sql执行失败时,不能回滚
function updategroup(){
$this->db->trans_begin();
$data1=array('g_name'=>$this->input->post('groupname'));
$this->db->where('g_id',$this->input->post('g_id'));
$this->db->update('groups',$data1);
$id=$this->input->post('g_id');
$sql="delete from `menu_group` where `g_id`='$id'";
$this->db->query($sql);
$bmenu=array();
$bmenu=$this->input->post('bigmenu');
if(!empty($bmenu)){
foreach($bmenu as $value){
$datab=array('g_id'=>$this->input->post('g_id'),'m_id'=>$value,'m_parent_id'=>0);
$query1=$this->db->insert('menu_group',$datab);
}
}
$smenu=array();
$smenu=$this->input->post('smenu');
if(!empty($smenu)){
foreach($smenu as $value){
$smenu1=explode(',',$value);
$smenuid=$smenu1;
$bmenuid=$smenu1;
$datas=array('g_id'=>$this->input->post('g_id'),'m_id'=>$smenuid,'m_parent_id'=>$bmenuid);
$query2=$this->db->insert('menu_group',$datas);
}
}
if ($this->db->trans_status() === FALSE){
$this->db->trans_rollback();
return false;
}
else{
$this->db->trans_commit();
return true;
}
}
自己顶下 等hex大哥来{:3_65:} -_- CI 事务我还没用过。。。。
等高人回答。。。 在mysql中使用事务时,你的数据库表的类型必须是InnoDB或BDB,而不是更常用的MyISAM,否则无法实现 在mysql中使用事务时,你的数据库表的类型必须是InnoDB或BDB,而不是更常用的MyISAM,否则无法实现
haohailuo 发表于 2009-8-27 22:53 http://codeigniter.org.cn/forums/images/common/back.gif
恩 这个我知道 呵呵 不过还是不行 如果是自己的服务器,事物绝对是提升效率的利器。如果是放在空间商哪,不知道对方是否支持了。
而且好像支持的不多。
返回值处好像有些问题。 既然无解,此处就放弃食物吧,以前mysql没食物的时候,大家也编的很欢乐啊 恩 是的 结贴了 谢谢各位
页:
[1]