Maison > base de données > tutoriel mysql > Comment obtenir l'ID auto-incrémenté après l'insertion de données avec l'enregistrement actif de CodeIgniter ?

Comment obtenir l'ID auto-incrémenté après l'insertion de données avec l'enregistrement actif de CodeIgniter ?

Susan Sarandon
Libérer: 2024-11-04 21:24:02
original
343 Les gens l'ont consulté

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

Comment récupérer l'ID auto-incrémenté après une requête d'insertion dans CodeIgniter Active Record

Lors de l'utilisation de la bibliothèque Active Record de CodeIgniter pour les opérations de base de données, vous devrez peut-être récupérer le dernier ID auto-incrémenté inséré pour une opération d'insertion. Cet article explore les moyens possibles d'y parvenir.

Problème

Dans votre application CodeIgniter, vous tentez d'insérer des données dans une table MySQL à l'aide de la méthode insert() d'Active Record dans un modèle. Cependant, votre code ne renvoie pas l'ID auto-incrémenté attendu.

Solution

Pour récupérer le dernier ID auto-incrémenté inséré, suivez ces étapes :

  1. Mettez à jour votre modèle pour exécuter d'abord l'opération d'insertion, puis récupérez l'ID immédiatement après :
<code class="php">function add_post($post_data){
   $this->db->insert('posts', $post_data);
   $insert_id = $this->db->insert_id();

   return  $insert_id;
}</code>
Copier après la connexion
  1. Si vous devez exécuter plusieurs insertions dans une transaction, entourez les opérations avec trans_start() et 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>
Copier après la connexion

Autres considérations

  • La méthode insert_id() de CodeIgniter renvoie 0 si le l'insertion n'a pas réussi.
  • Si votre table de base de données n'a pas de colonne à incrémentation automatique, insert_id() renverra 0.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal