如何使用CodeIgniter的Active Record插入資料後取得自增ID?

Susan Sarandon
發布: 2024-11-04 21:24:02
原創
237 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板