CodeIgniter 激活记录,检索上一次插入 ID?

在 CodeIgniter 中是否有获取新记录的最后一个插入 id 的选项?

$last_id = $this->db->insert('tablename',
array('firstcolumn' => 'value',
'secondcolumn' => 'value')
);

考虑字段 id (自动增量)的第一列和第二列的表组成。

通过这种方式,您可以在下面的代码中使用插入 id。

242933 次浏览

真为我感到羞耻。

我查看了 用户指南,第一个函数是 $this->db->insert_id();

这也适用于活动记录插入..。

编辑: 我更新了链接

最后一次插入 id 意味着您可以通过在活动记录中使用此方法插入自动递增 id,

$this->db->insert_id()
// it can be return insert id it is
// similar to the mysql_insert_id in core PHP

你可以参考这个链接,你可以找到更多的东西。

来自执行查询的信息

$this->db->insert_id();

在执行数据库插入时返回插入 ID 号

查询助手方法 用于 codeigniter-3

试试这个。

public function insert_data_function($your_data)
{
$this->db->insert("your_table",$your_data);
$last_id = $this->db->insert_id();
return $last_id;
}

对于具体表,不能使用 $this-> db-> insert _ id ()。即使最后一次插入发生在很久以前,它也可以像这样获取。也许是错的。但对我来说效果不错

     $this->db->select_max('{primary key}');
$result= $this->db->get('{table}')->row_array();
echo $result['{primary key}'];
if($this->db->insert('Your_tablename', $your_data)) {
return $this->db->insert_id();
}
return false

$this->db->insert_id();

试试这个,作为你想要的问题。

帮助请求 id 和查询的详细信息列表如下

用于获取最后插入的 Id: 这将从表中获取最后的记录

$this->db->insert_id();

获取 SQL 查询在模态请求后添加此内容

$this->db->last_query()
$this->db->insert_id()

请试试这个

在插入查询之后,使用此命令 $this->db->insert_id();返回最后插入的 id。

例如:

$this->db->insert('Your_tablename', $your_data);


$last_id =  $this->db->insert_id();


echo $last_id // assume that the last id from the table is 1, after the insert query this value will be 2.

在 Codeigniter 3中,你可以这样做:

if($this->db->insert("table_name",$table_data)) {
$inserted_id = $this->db->insert_id();
return $inserted_id;
}

你可以从这里得到帮助的 Codeigniter 3 https://codeigniter.com/user_guide/database/helpers.html

在 Codeigniter 4中,您可以得到最后插入的 id,如下所示:

$builder = $db->table("your table name");
if($builder->insert($table_data)) {
$inserted_id = $db->insertID();
return $inserted_id;
}

你可以从这里得到帮助的 Codeigniter 4 https://codeigniter4.github.io/userguide/database/helpers.html