首页  >  文章  >  数据库  >  如何使用CodeIgniter的Active Record插入数据后获取自增ID?

如何使用CodeIgniter的Active Record插入数据后获取自增ID?

Susan Sarandon
Susan Sarandon原创
2024-11-04 21:24:02241浏览

How to Get the Auto-Incremented ID After Inserting Data with CodeIgniter's Active Record?

如何在 CodeIgniter Active Record 中插入查询后检索自增 ID

使用 CodeIgniter 的 Active Record 库进行数据库操作时,您可能需要检索上次插入的自动递增 ID 以进行插入操作。本文探讨了实现此目标的可能方法。

问题

在 CodeIgniter 应用程序中,您尝试使用 Active Record 的 insert() 方法将数据插入到 MySQL 表中一个模型。但是,您的代码不会返回预期的自动递增 ID。

解决方案

要检索最后插入的自动递增 ID,请按照以下步骤操作:

  1. 更新模型以首先执行插入操作,然后立即检索 ID:
<code class="php">function add_post($post_data){
   $this->db->insert('posts', $post_data);
   $insert_id = $this->db->insert_id();

   return  $insert_id;
}</code>
  1. 如果您需要在事务中执行多个插入,用 trans_start() 和 trans_complete() 包围操作:
<code class="php">$this->db->trans_start();
$this->db->insert('posts', $post_data);
$insert_id = $this->db->insert_id();
$this->db->trans_complete();

return  $insert_id;</code>

进一步的考虑因素

  • CodeIgniter 的 insert_id() 方法返回 0,如果插入不成功。
  • 如果您的数据库表没有自动递增列,insert_id() 将返回 0。

以上是如何使用CodeIgniter的Active Record插入数据后获取自增ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn