web-dev-qa-db-fra.com

CodeIgniter activerecord, récupérer le dernier identifiant d'insertion?

Existe-t-il des options pour obtenir le dernier identifiant d'insertion d'un nouvel enregistrement dans CodeIgniter?

$last_id = $this->db->insert('tablename',
    array('firstcolumn' => 'value',
    'secondcolumn' => 'value')
);

Considérant que la table est composée de champs id (auto-incrémentation) firstcolumn et secondcolumn.

De cette façon, vous pouvez utiliser l'insert ID dans le code suivant.

150
Dennis Decoene

Honte sur moi...

J'ai regardé le guide de l'utilisateur et la première fonction est $this->db->insert_id();

Cela fonctionne aussi avec les inserts Activerecord ...

EDIT: j'ai mis à jour le lien

274
Dennis Decoene

Dernière insertion signifie que vous pouvez obtenir l’identifiant automatique incrémenté inséré en utilisant cette méthode dans l’enregistrement actif,

$this->db->insert_id() 
// it can be return insert id it is 
// similar to the mysql_insert_id in core PHP

Vous pouvez vous référer à ce lien, vous pouvez trouver plus de choses.

Informations sur l'exécution d'une requête

37
Raja Ram T

pour une table spécifique, vous ne pouvez pas utiliser $ this-> db-> insert_id (). Même le dernier insert est arrivé il y a longtemps, il peut être récupéré comme ceci. peut être faux. mais fonctionne bien pour moi

     $this->db->select_max('{primary key}');
     $result= $this->db->get('{table}')->row_array();
     echo $result['{primary key}'];
10
Infant Rosario

La liste des détails qui aide à demander un identifiant et des requêtes est

Pour récupérer le dernier ID inséré: Ceci récupérera les derniers enregistrements de la table

$this->db->insert_id(); 

Récupération de la requête SQL ajoute ceci après la requête modale

$this->db->last_query()
8
Madhur

$this->db->insert_id();

Essayez ceci comme votre question désirée.

6
Akash Tyagi

Essaye ça.

public function insert_data_function($your_data)
{
    $this->db->insert("your_table",$your_data);
    $last_id = $this->db->insert_id();
    return $last_id;
}
5
Raham

Après votre requête d’insertion, utilisez cette commande $this->db->insert_id(); pour renvoyer le dernier identifiant inséré.

Par exemple:

$this->db->insert('Your_tablename', $your_data);

$last_id =  $this->db->insert_id();

echo $last_id // assume that the last id from the table is 1, after the insert query this value will be 2.
5
Nikkolai Fernandez
$this->db->insert_id();

Renvoie le numéro d'ID d'insertion lors de l'insertion de bases de données.

Méthodes d'assistance aux requêtes pour codeigniter-3

3
Shaiful Islam
$this->db->insert_id()  

// s'il vous plaît essayez ceci

2
Girish Ninama
if($this->db->insert('Your_tablename', $your_data)) {
    return $this->db->insert_id();
}
return false 
1
Nakendra Pun