从一个函数到另一个函数获取insert_id()

时间:2014-04-03 02:24:22

标签: php mysql codeigniter

美好的一天!

当我点击SUBMIT按钮时,我有一个代码,我将执行这两个功能,并使用auto_increment ID将数据插入数据库。

public function insert1()
    {   
        $this->db->insert('db1');
        $id1 = $this->db->insert_id();

        return (isset($id1)) ? $id1 : FALSE;
    }

public function insert2()
        {   
                    $this->db->set('insert1_id', $id1);
            $this->db->insert('db2');
            $id2 = $this->db->insert_id();

            return (isset($id2)) ? $id2 : FALSE;
        }

如果此代码中的函数inser1()返回(isset($ id1)),该怎么办? $ id21:FALSE;如果$id1 is set为真,它将执行insert2()函数,我将获得inserted id并在insert1_id列中设置此函数{{1} }?

1 个答案:

答案 0 :(得分:0)

我只会调用插入2并让它决定去哪里。

public function insert1()
{   
    $this->db->insert('db1');
    $id1 = $this->db->insert_id();

    return (isset($id1)) ? $id1 : FALSE;
}

public function insert2()
{   
   $id1 = $this->insert1();
   if($id1 !== false)
   {
       $this->db->set('insert1_id', $id1);
       $this->db->insert('db2');
       $id2 = $this->db->insert_id();
   }


   return (isset($id2)) ? $id2 : FALSE;
}

然后只需调用insert2()并让它处理插入1。