smart0326 发表于 2009-12-15 13:47:12

插入引起的回滚异常

我做了一个事务但是插入的时候会有回滚的异常发生,请大家帮帮忙,看下!多谢!代码如下:
                        $this->db->trans_begin ();

$this->db->query($this->genUserSql($nickname,$password,$username));

$uid=$this->db->insert_id();

$this->db->query($this->genClientSql($uid,$imei,$imsi,$otherInfo));

$this->db->query($this->genSessionSql($uid));
                        if (FALSE === $this->db->trans_status () ) {

$this->db->trans_rollback ();

$MTReturn["flag"]="false";

                        $MTReturn["msg"]=$this->db->errMsg;

      return $MTReturn;

}

当我的插入出错时,只能回滚插入后面的两条语句,为什么?

smart0326 发表于 2009-12-15 13:51:18

顺便说下,本人新手,请大家多多指教!
谢谢!

spt119 发表于 2009-12-15 16:31:37

在早前用CI 1.6.9版本中,$this->db->insert_id()函数有时会出现问题。
我宁愿相信是自己编码的原因,但问题一直没有解决。
看楼上用了这个函数,提供一个思路或可能。

smart0326 发表于 2009-12-15 16:37:42

十分感谢,我已经找到问题了,但是还没有找的问题的解决办法,$uid=$this->db->insert_id()这条语句不能用在插入前,不然会有问题,再次谢谢你的帮助!

Hex 发表于 2009-12-15 19:01:56

$this->db->insert_id();
这怎么能用在插入前呢?没插入怎么取 insert_id 呀?呵呵

Goolee 发表于 2010-4-2 16:39:01

我也是新手
页: [1]
查看完整版本: 插入引起的回滚异常