Maison  >  Article  >  base de données  >  Comment récupérer le dernier ID inséré après une requête INSERT dans CodeIgniter Active Record ?

Comment récupérer le dernier ID inséré après une requête INSERT dans CodeIgniter Active Record ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-05 20:08:02174parcourir

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

Comment récupérer le dernier ID inséré après une requête INSERT dans l'enregistrement actif CodeIgniter

Problème :

Lors de l'exécution d'une requête d'insertion à l'aide de l'enregistrement actif de CodeIgniter, votre objectif est de récupérer le dernier ID auto-incrémenté pour l'enregistrement inséré. Cependant, vous rencontrez des difficultés pour obtenir cette valeur.

Solution :

Pour récupérer correctement le dernier ID inséré dans CodeIgniter Active Record, suivez ces étapes :

  1. Évitez d'effectuer des transactions autour de l'opération INSERT :
    Dans la fonction de modèle fournie, vous avez encapsulé l'opération d'insertion dans une transaction à l'aide de trans_start() et trans_complete(). Pour les opérations à insertion unique, cela n’est pas nécessaire. Supprimez ces blocs de transactions pour récupérer correctement le dernier identifiant.
  2. Appelez insert() avant insert_id() :
    Une fois que vous avez supprimé les transactions, assurez-vous d'appeler insert() avant d'accéder insert_id().

Fonction de modèle mise à jour :

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

    return $insert_id;
}</code>

Pour les insertions multiples, envisagez d'utiliser des insertions groupées avec des instructions par lots.

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:
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