如何在uuid codeigniter中检索最后一个插入ID

时间:2014-11-19 01:43:18

标签: php mysql codeigniter

在codeigniter中检索最后一个插入ID时遇到问题。 当我尝试调试像var_dump(); 输出只发​​送int(0)

我使用uuid作为主键的id。这是代码:

$this->db->set('id_customer','uuid_short()',FALSE);
    $query = $this->db->insert('customer',$data);
    $id = $this->db->insert_id();
    echo var_dump($id);

    if($query)
    {
        $array = array(
            'kode_trans' => 'uuid()',
            'trans_date' => 'NOW()'
            );

        $this->db->set('id_customer','$id');
        $this->db->set($array,'',FALSE);
        $this->db->insert('transaction_header');

        return $id;
    }else{
        return FALSE;
    }

我在ci的新手。 我的代码有问题吗?

1 个答案:

答案 0 :(得分:0)

" insert_id"函数使用PHP的mysql_insert_id函数,该函数返回" 上一次成功查询为AUTO_INCREMENT列生成的ID,如果前一个查询未生成AUTO_INCREMENT值,则返回0 &# 34;

你可以这样试试;

$id = uuid_short();
$data['id_customer'] = $id;

$query = $this->db->insert('customer', $data);
if ( $query )
{
    $array = array(
    'kode_trans' => 'uuid()',
    'trans_date' => 'NOW()'
);

$query = $this->db->insert('transaction_header', $array);
return $id; 
}
else
{
    return false;
}