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

Imprimir ñ en impresora térmica

En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…

2 días hace

Tramitar acta de nacimiento en línea de manera instantánea

En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…

3 días hace

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 semanas hace

Esta web usa cookies.