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
.
Obtener último id insertado
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
.
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