在insert_id()中,获取codeigniter中的最后一个插入ID,额外的1将带有id

时间:2018-06-12 06:36:49

标签: php codeigniter mysqli codeigniter-3 last-insert-id

当使用insert_id()接收上一个自动增量插入ID时,在CodeIgniter中的 MODEL 执行1时,每个ID都会附加echo print($insert_id)

例如:我的上一次自动增量ID在数据库列 50 echo ($insert_id);显示 501 为我最后一个增量ID。很奇怪。我无法找出为什么额外的1会来的问题。 有任何建议,请帮帮我。

我的另一个问题是在收到上次插入ID后,如何从 Modal在Codeigniter处接收 ID 控制器文件文件

模态



public function create($data = [])
{	 
   $this->db->insert($this->table,$data);
   $insert_id = $this->db->insert_id();
   echo print_r($insert_id);exit;
		  
   //return $insert_id ;
}




1 个答案:

答案 0 :(得分:2)

希望这会对您有所帮助:

注意仅使用echo在模型中打印插入ID;并在控制器中获取id只返回$insert_id

您的模型应该是这样的:

public function create($data = [])
{   
   if (! empty($data))
   { 
     $this->db->insert($this->table,$data);
     $insert_id = $this->db->insert_id();
     return $insert_id;
   }
}

在您的控制器中:

注意确保您已在自动加载或控制器中加载模型

public function method_name()
{
  $data = ['your insert data in array'];
  $id = $this->model_name->create($data);
  echo $id;//you will get the id;
}