Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan Selepas Pertanyaan INSERT dalam Rekod Aktif CodeIgniter?

Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan Selepas Pertanyaan INSERT dalam Rekod Aktif CodeIgniter?

Linda Hamilton
Linda Hamiltonasal
2024-11-05 20:08:02234semak imbas

How to Retrieve the Last Inserted ID After an INSERT Query in CodeIgniter Active Record?

Cara Mendapatkan ID Terakhir Dimasukkan Selepas Pertanyaan INSERT dalam Rekod Aktif CodeIgniter

Masalah:

Apabila melaksanakan pertanyaan sisipan menggunakan Rekod Aktif CodeIgniter, anda menyasarkan untuk mendapatkan ID penambahan automatik terakhir untuk rekod yang dimasukkan. Walau bagaimanapun, anda menghadapi kesukaran mendapatkan nilai ini.

Penyelesaian:

Untuk mendapatkan semula ID yang terakhir dimasukkan dengan betul dalam Rekod Aktif CodeIgniter, ikut langkah berikut:

  1. Elakkan Berurusniaga Sekitar Operasi INSERT:
    Dalam fungsi model yang anda berikan, anda telah membungkus operasi sisipan dalam transaksi menggunakan trans_start() dan trans_complete(). Untuk operasi sisipan tunggal, ini tidak diperlukan. Alih keluar blok transaksi ini untuk mendapatkan ID terakhir dengan betul.
  2. Panggil sisipan() Sebelum insert_id():
    Setelah anda mengalih keluar transaksi, pastikan anda memanggil sisipan() sebelum mengakses insert_id().

Fungsi Model Dikemas Kini:

<code class="php">function add_post($post_data) {
    $this->db->insert('posts', $post_data);
    $insert_id = $this->db->insert_id();

    return $insert_id;
}</code>

Untuk berbilang sisipan, pertimbangkan untuk menggunakan sisipan pukal dengan pernyataan kelompok.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan Selepas Pertanyaan INSERT dalam Rekod Aktif CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn