首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter 3事务

Codeigniter 3事务
EN

Stack Overflow用户
提问于 2016-01-29 06:36:49
回答 1查看 108关注 0票数 0

在我的代码中,即使我有数据库错误,事务也不会滚动.这是密码..。

即使在试用中插入或注册失败,登录用户也会插入数据.

代码语言:javascript
复制
$this->db->trans_start();
            $logindata = $this->_get_login_data();
            $logindata['is_deleted'] = 0;
            $this->db->insert('user_login',$logindata); 
            //insert login data end


            //insert register data begin
            $registerdata = $this->_get_register_data();
            $registerdata['is_active'] = 1;
            $registerdata['user_login_id'] = $this->db->insert_id();
            $registerdata['subscription_id'] = null;
            $registerdata['login_other_accounts_id'] = null;
            $registerdata['is_first_time_login'] = 1;
            $registerdata['default_language_id'] = 1;
            $registerdata['created_on'] = date('Y-m-d H:i:s');
            $registerdata['is_deleted'] = 0;

            //insert trial period begin
            $trialdata['trial_period_day'] = 10;
            $trialdata['is_publish'] = 0;
            $trialdata['is_deleted'] = null;
            $this->trial_period_model->insert('trial_period',$trialdata);
            //insert trial period end

            if($registerdata['is_company']==null)
                $registerdata['is_company'] = 0;
            $registerdata['trial_period_id'] = $this->user_model->get_last_inserted_id();
            $this->upload_image();
            $imagename = $this->upload->data();
            $registerdata['photo_logo'] = $imagename['file_name'];
            $this->user_model->insert('general_reg_info',$registerdata);
            if ($this->db->trans_status() === FALSE)
            {
                    $this->db->trans_rollback();
                    echo "failed";
            }
            else
            {
                    $this->db->trans_commit();
                    echo "success";
            }
            //insert register data end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-29 09:08:49

数据库类型可能是“MyISAM”,将数据库类型更改为“InnoDB”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35078312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档