Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich die automatisch inkrementierte ID nach dem Einfügen von Daten mit dem aktiven Datensatz von CodeIgniter?

Wie erhalte ich die automatisch inkrementierte ID nach dem Einfügen von Daten mit dem aktiven Datensatz von CodeIgniter?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 21:24:02329Durchsuche

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

So rufen Sie die automatisch inkrementierte ID nach einer Einfügeabfrage in CodeIgniter Active Record ab

Wenn Sie die Active Record-Bibliothek von CodeIgniter für Datenbankoperationen verwenden, Möglicherweise müssen Sie für einen Einfügevorgang die zuletzt eingefügte automatisch inkrementierte ID abrufen. In diesem Artikel werden mögliche Wege untersucht, um dies zu erreichen.

Problem

In Ihrer CodeIgniter-Anwendung versuchen Sie, Daten mithilfe der insert()-Methode von Active Record in eine MySQL-Tabelle einzufügen ein Modell. Ihr Code gibt jedoch nicht die erwartete automatisch inkrementierte ID zurück.

Lösung

Um die zuletzt eingefügte automatisch inkrementierte ID abzurufen, führen Sie die folgenden Schritte aus:

  1. Aktualisieren Sie Ihr Modell, um zuerst den Einfügevorgang auszuführen und dann unmittelbar danach die ID abzurufen:
<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. Wenn Sie mehrere Einfügungen innerhalb einer Transaktion ausführen müssen, Umgeben Sie die Operationen mit trans_start() und 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>

Weitere Überlegungen

  • Die insert_id()-Methode von CodeIgniter gibt 0 zurück, wenn die Das Einfügen war nicht erfolgreich.
  • Wenn Ihre Datenbanktabelle keine automatisch inkrementierende Spalte hat, gibt insert_id() 0 zurück.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die automatisch inkrementierte ID nach dem Einfügen von Daten mit dem aktiven Datensatz von CodeIgniter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn