CodeIgniter – ID del último registro insertado

En muchas ocasiones, cuando insertamos un registro en la base de datos, nos interesa saber que identificador se le ha asignado. Bien, veamos cómo se hace con CodeIgniter que es muy sencillo:

Supongamos que tenemos la tabla alumno en la base de datos con los siguientes campos:

1
2
3
id integer(11) PRIMARY KEY AUTO_INCREMENT
nombre varchar(200)
nacimiento date

Fijaos en el campo ‘id’ que es la clave primaria y es autoincrement.

Vale. Ahora en nuesto fichero model que se encarga de insertar los datos (no entro en detalles del controlador y la vista…) tendremos

1
2
3
4
5
6
7
8
9
function alumnoNew()
    {
        $sql= "INSERT INTO alumno(id, nombre, nacimiento) VALUES(null,'". $this->input->post('nombre') ."', '". $this->session->userdata('nacimiento') ."')";
        if ( $this->db->query($sql) ){
            return true;
        } else {
            return false;
        }
    }

Como podemos ver, la función se encarga de insertar en la BBDD los datos que vienen del formulario. En el caso que haya ido bien, retorna true, y de lo contrario retorna false.
A este alumno se le ha asignado la id incrementando la del anterior. Así cada alumno que vayamos insertando tendrá el 1, 2, 3… y así a cada alumno. Pero, cuando insertamos un alumno, qué id se le ha asignado al nuevo?

1
2
3
4
5
6
7
8
9
function alumnoNew()
    {
        $sql= "INSERT INTO alumno(id, nombre, nacimiento) VALUES(null,'". $this->input->post('nombre') ."', '". $this->session->userdata('nacimiento') ."')";
        if ( $this->db->query($sql) ){
            return $this->db->insert_id();;
        } else {
            return false;
        }
    }

Aquí hay un cambio. Si ha ido bien, devuelve $this->db->insert_id() que es la función del helper db que nos proporcionar el último id insertado.

Pues nada, tanto royo para solamente decir que con la función $this->db->insert_id() que proporciona el helper db podemos averiguar el último id insertado. Pero creo que con un pequeño ejemplo puede aclarar cosas a mucha gente.

Artículos relacionados

Codeigniter redireccionar toda la web a SSL Os indico como redireccionar en una web creada con Codeigniter para que siempra, escriban lo que escriban en la barra de dirección accedan a nuestra w...
CodeIgniter – Quitar index.php de la url Para poder trabajar bien las url amigables en CodeIgniter, debemos quitar el index.php que sale por defecto cuando navegas por la aplicación. Hay que ...
CodeIgniter – Exportar a excel con librería ... A la hora de hacer nuestras aplicaciones con CodeIgniter, puede surgir la necesidad de exportar los resultados de una consulta a Excel. Para ello, os ...
CodeIgniter – Tiempo expiración de las sesio... Este es uno de esos artículo breves y que no tienes en cuenta, hasta que surge el problema. Haces la aplicación con Codeigniter, trabajas con sesiones...

Un comentario

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*