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.
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
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.
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}'];
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()
$this->db->insert_id();
Essayez ceci comme votre question désirée.
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;
}
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.
$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
$this->db->insert_id()
// s'il vous plaît essayez ceci
if($this->db->insert('Your_tablename', $your_data)) {
return $this->db->insert_id();
}
return false