lichao032100 发表于 2009-8-26 16:52:57

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;
            }
    }

lichao032100 发表于 2009-8-27 17:24:55

自己顶下 等hex大哥来{:3_65:}

Hex 发表于 2009-8-27 18:46:19

-_- CI 事务我还没用过。。。。
等高人回答。。。

haohailuo 发表于 2009-8-27 22:53:13

在mysql中使用事务时,你的数据库表的类型必须是InnoDB或BDB,而不是更常用的MyISAM,否则无法实现

lichao032100 发表于 2009-8-28 08:46:11

在mysql中使用事务时,你的数据库表的类型必须是InnoDB或BDB,而不是更常用的MyISAM,否则无法实现
haohailuo 发表于 2009-8-27 22:53 http://codeigniter.org.cn/forums/images/common/back.gif
恩 这个我知道 呵呵 不过还是不行

spt119 发表于 2009-8-28 14:39:47

如果是自己的服务器,事物绝对是提升效率的利器。如果是放在空间商哪,不知道对方是否支持了。
而且好像支持的不多。
返回值处好像有些问题。

visvoy 发表于 2009-8-28 15:51:15

既然无解,此处就放弃食物吧,以前mysql没食物的时候,大家也编的很欢乐啊

lichao032100 发表于 2009-8-29 08:35:48

恩 是的 结贴了 谢谢各位
页: [1]
查看完整版本: ci事务问题