Use la función PHP MySQLi para obtener la última ID insertada

Preet Sanghavi 20 junio 2023
  1. Función mysqli() de PHP
  2. Use la función PHP mysqli() para obtener el último ID insertado
Use la función PHP MySQLi para obtener la última ID insertada

Este tutorial presenta brevemente la función PHP mysqli() y demuestra cómo usarla para obtener el último id insertado de la base de datos MySQL.

Función mysqli() de PHP

Es una versión de la extensión del controlador MySQL llamada mysqli, que a menudo se usa con scripts del lado del servidor PHP para conectarse con las bases de datos o esquemas MySQL.

Para comenzar, primero debe conectarse con su base de datos MySQL. La función connect() o mysqli_connect() se utiliza para abrir una conexión con el servidor MySQL.

Antes de usar la función, debe crear el objeto mysqli(), que contiene parámetros sobre su servidor MySQL.

    <?php
        $mysqli = new mysqli(
                            "host_name",
                            "username",
                            "password",
                            "database_name",
                            "port",
                            "socket"
                  );

        //Checking connection
        if ($mysqli -> connect_errno){
            echo "Something went wrong. Failed to connect with MySQL database".
                $mysqli -> connection_error;
            exit();
        }
        else{
             echo "Connected";
        }
?>

El código anterior informará al usuario si la conexión no se establece; de lo contrario, imprimirá Conectado en la pantalla del navegador.

Parámetros Descripción

Parámetro Descripción
host_name Especifique el nombre del host (Ej: localhost) o la dirección IP.
username Especifique su nombre de usuario de su base de datos MySQL.
password Especifique su contraseña de su base de datos MySQL.
database_name Proporcione el nombre de su base de datos o esquema con el que desea conectarse en su base de datos MySQL.
port Se utiliza para conectarse al servidor MySQL.
socket Especifique el socket o tubería con nombre.

Use la función PHP mysqli() para obtener el último ID insertado

Para lograr esta tarea, debe crear una tabla con un campo AUTO_INCREMENT, que devolverá el último registro insertado id.

¿Por qué tiene AUTO_INCREMENT? Cada vez que se inserta un nuevo registro en una tabla, el auto-incremento permite crear automáticamente un número único.

Con frecuencia es el campo de clave principal que queremos que se produzca automáticamente cada vez que se inserta un nuevo registro. Vea el siguiente código para saber cómo podemos crear una columna AUTO_INCREMENT:

CREATE TABLE table_name(
    column_name1 INT AUTO_INCREMENT PRIMARY KEY,
    column_name2 VARCHAR(100)
);

La columna INT almacenará valores enteros, y AUTO_INCREMENT incrementará automáticamente el valor de la columna cada vez que se inserte un nuevo registro. Finalmente, la CLAVE PRINCIPAL configura la restricción, permitiendo solo valores únicos para la columna.

La segunda columna es del tipo VARCHAR que puede aceptar valores de cadena. Para recuperar el último id insertado, mysqli() proporciona el comando insert_id; compruébalo a continuación:

$mysql->insert_id;

Para ver este comando en acción, primero ejecute una consulta INSERT, luego ejecute el comando insert_id para ver el último id insertado:

<?php
    $mysqli = new mysqli(
                         "host_name",
                         "username",
                         "password",
                         "database_name",
                         "port",
                         "socket"
              );

        // Checking connection
       if ($mysqli -> connect_errno){
           echo "Something went wrong. Failed to connect with MySQL database".
               $mysqli -> connection_error;
           exit();
       }else{
           echo "Connected";
       }

       $sql_query = "INSERT INTO table_name (column_name2) VALUES ('value_2')";

       if ($mysqli->query($sql_query) === TRUE) {
           printf("Last inserted record ID %d. \n", $mysqli->insert_id);
       } else {
         echo "Error: ". $sql_query . "<br>" . $mysqli->error;
       }
?>

En el código anterior, la función $mysqli -> query() ejecuta su consulta dada en la base de datos seleccionada. y compara el valor devuelto.

Si es VERDADERO, usamos la función printf() para generar una cadena formateada; de lo contrario, imprimirá un error usando $mysqli -> error.

Los parámetros que proporcione a la función printf() se insertarán después del signo % en la cadena original que proporcionó. Y el signo %d significa que el valor que se insertará es un número decimal Con signo (negativo, positivo o cero).

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Artículo relacionado - MySQL Function