bases de datos

Obtener último ID insertado en tabla con CodeIgniter

Introducción

Es muy probable que en nuestra base de datos (MySQL en mi caso) tengamos una tabla con un campo de auto incremento o AUTO_INCREMENT.

Si trabajamos con estos campos y con CodeIgniter, puede que nos preguntemos ¿Cómo obtener el último ID que ha sido insertado en nuestra tabla? Este ID nos sirve, por ejemplo, al hacer relaciones.

Supongamos que tenemos una tabla de productos vendidos y otra de ventas. Si en los productos vendidos guardamos el ID de venta, primero necesitamos hacer la venta, luego obtener el último ID de la base de datos y, ya con esto, guardar el Id de venta en la tabla de productos vendidos.

Obtener último ID insertado

CodeIgniter, un framework de PHP, provee esto en un método muy simple. Recordemos que para usar la base de datos ya sea en nuestro modelo o controlador, primero debemos cargarla.

El código para obtener el último ID guardado es este:

<?php
$ultimoId = $this->db->insert_id();

Ejemplo de obtener el último ID de la base de datos

Para poner un ejemplo, aquí dejo un modelo en donde lo he estado utilizando. Básicamente guarda la información de la persona en la base de datos y devuelve el último ID insertado.

Notemos por favor que en el constructor es en donde cargamos la base de datos.

<?php
class Persona_model extends CI_Model{
 function __construct()
 {
  $this->load->database();
 }


 public function nueva($persona){
  $this->db->insert("personas", [
   "nombre" => $persona->nombre,
   "edad" => $persona->edad,
  ]);
  return $this->db->insert_id();
 }

}
?>

Con eso terminamos el tutorial de hoy. Recuerda que en este caso fue de la tabla personas, pero funciona igual para todas las tablas.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Esta bien esa consulta pero no haces referencia a la tabla en cuestion
    en $ultimoId = $this->db->insert_id();

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

2 semanas hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

2 semanas hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

2 semanas hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

1 mes hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace