简体   繁体   English

如何在UUID Codeigniter中检索最后的插入ID

[英]how to retrieve last insert id in uuid codeigniter

i have a trouble when retrieve last insert id in codeigniter. 我在codeigniter中检索最后一个插入ID时遇到麻烦。 when i try to debug like var_dump(); 当我尝试像var_dump()进行调试时; the output just send int(0) 输出只是发送int(0)

i use uuid as id with primary key. 我使用uuid作为主键的id。 this is the code: 这是代码:

$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;
    }

im newbie in ci. 我是ci的新手。 there is something wrong with my code? 我的代码有问题吗?

The "insert_id" function uses PHP's mysql_insert_id function, which returns " The ID generated for an AUTO_INCREMENT column by the previous query on success, 0 if the previous query does not generate an AUTO_INCREMENT value " “ insert_id”函数使用PHP的mysql_insert_id函数,该函数返回“ 成功时由上一个查询为AUTO_INCREMENT列生成的ID,如果前一个查询未生成AUTO_INCREMENT值则为0

You could try it this way; 您可以这样尝试;

$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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM