首頁  >  文章  >  資料庫  >  如何使用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