En este corto post te mostraré cómo obtener el id que ha ocupado el último elemento insertado en una tabla de SQL usando el lenguaje de programación PHP y el driver PDO.
Obtener el último id insertado con PDO y PHP sirve para cuando necesitamos, por ejemplo, hacer relaciones de tablas o imprimir el id tan pronto se haya insertado el registro.
Para lograr esto vamos a usar el método lastInsertId
.
Para que esto funcione debemos tener un objeto PDO, por ejemplo:
<?php
$contraseña = "";
$usuario = "root";
$nombre_base_de_datos = "ventas";
try {
$base_de_datos = new PDO('mysql:host=localhost;dbname=' . $nombre_base_de_datos, $usuario, $contraseña);
} catch (Exception $e) {
echo "Ocurrió algo con la base de datos: " . $e->getMessage();
}
?>
Después podemos preparar una sentencia y ejecutarla, o simplemente hacer la inserción. Lo importante es invocar a lastInsertId
desde el objeto de PDO.
<?php
$sentencia = $base_de_datos->prepare("insert into cortes(idUsuario, fecha, total) values(?,?,?)");
$sentencia->execute([$idUsuario, $fechaCorte, $total]);
# Aquí el último ID:
$id = $base_de_datos->lastInsertId();
Como ves en la línea 5 estoy obteniendo el último id insertado, en este ejemplo es con la tabla llamada cortes
.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
Tengo una duda, son necesarios los otros datos que se piden de la tabla como fecha y total para el funcionamiento del código? Si lo son, como los añado a la base de datos, pues con que especificaciones. Espero se haya entendido la pregunta, gracias.
Hola. No, no es necesario, ese fue mi ejemplo con mis campos, usted puede tener otros datos, solo debe adaptar el código