在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的新手。 我的代码有问题吗?
答案 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;
}