CI数据库事务的问题。。。
在CI中做了这样一个测试,如下:function insert_admin()
{
$this->db->trans_start();
$this->db->query("insert into `e_admin`(AdminName) values('aaa')");
$this->db->query("insert into `e_admin`(AdminNam) values('')");
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$this->db->trans_commit();
}
}
e_admin数据表类型是innodb,AdminName是一个字段。
很明显第二个insert出错,但第一条插入还是插入了数据库。。。为什么啊 transaction不是
开始trans
。。
blahblah。。
。。。
rollback或者commit
trans_complete??
有这么一个步骤吗?
我就土鳖的问一下 上面哪个是手册上的例子啊 $this->db->trans_start();
$this->db->query("insert into `e_admin`(AdminName) values('aaa')");
$insert_id1 = $this->db->affected_row();
if ($insert_id1<=0)
{
$this->db->trans_rollback();
show_error('插入数据库失败');
}
$this->db->query("insert into `e_admin`(AdminNam) values('')");
$insert_id2= $this->db->affected_row();
if ($insert_id2<=0)
{
$this->db->trans_rollback();
show_error('插入数据库失败');
}
$this->db->trans_commit();
页:
[1]