Aller au contenu

Comment récupérer l'ID de la dernière insertion en PHP et MySQL

Dans cet article, nous vous guiderons à travers les étapes permettant de récupérer l'ID de la dernière insertion en PHP et MySQL. Lors de l'insertion de données dans une base de données, il est souvent nécessaire de récupérer l'ID du dernier enregistrement inséré. Cela est utile à diverses fins, comme le lien entre des enregistrements connexes dans la base de données.

Prérequis

Avant de commencer, vous devez disposer des éléments suivants :

  • Un serveur web avec PHP installé
  • Une base de données MySQL
  • Un accès à l'interface PHPMyAdmin ou à un outil de gestion de base de données similaire

Établir une connexion

La première étape pour récupérer l'ID de la dernière insertion consiste à établir une connexion à la base de données. Cela se fait en utilisant la fonction mysqli_connect(), qui nécessite les paramètres suivants :

  • Le nom du serveur de base de données
  • Le nom d'utilisateur utilisé pour accéder à la base de données
  • Le mot de passe de l'utilisateur de la base de données
  • Le nom de la base de données à laquelle se connecter

Voici un exemple de connexion à une base de données :

Exemple PHP de connexion à une base de données

php
<?php
$server = "localhost";
$username = "root";
$password = "password";
$database = "database_name";

$conn = mysqli_connect($server, $username, $password, $database);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

Rédaction de la requête SQL

Une fois la connexion à la base de données établie, l'étape suivante consiste à rédiger la requête SQL qui sera utilisée pour insérer les données dans la base de données.

Voici un exemple de requête SQL qui insère des données dans une table de base de données :

Exemple de requête SQL

sql
INSERT INTO table_name (column1, column2, column3)
VALUES ('value1', 'value2', 'value3');

Exécution de la requête SQL

Une fois la requête SQL rédigée, l'étape suivante consiste à l'exécuter. Cela se fait en utilisant la fonction mysqli_query(), qui nécessite les paramètres suivants :

  • La connexion à la base de données
  • La requête SQL à exécuter

Voici un exemple d'exécution de la requête SQL :

Exemple PHP d'exécution de la requête SQL :

php
<?php
$sql = "INSERT INTO table_name (column1, column2, column3)
VALUES ('value1', 'value2', 'value3')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
?>

Note de sécurité : Dans les environnements de production, utilisez toujours des requêtes préparées pour prévenir les attaques par injection SQL.

Récupération de l'ID de la dernière insertion

Une fois les données insérées dans la base de données, l'étape suivante consiste à récupérer l'ID du dernier enregistrement inséré. Cela se fait en utilisant la fonction mysqli_insert_id(), qui nécessite le paramètre suivant :

  • La connexion à la base de données

Voici un exemple de récupération de l'ID de la dernière insertion :

Exemple PHP/MySQL de récupération de l'ID de la dernière insertion

php
<?php
$last_id = mysqli_insert_id($conn);
echo "Last inserted ID is: " . $last_id;
?>

Fermeture de la connexion

Une fois l'ID de la dernière insertion récupéré, il est important de fermer la connexion à la base de données afin d'éviter tout risque de sécurité. Cela se fait en utilisant la fonction mysqli_close(), qui nécessite le paramètre suivant :

  • La connexion à la base de données

Voici un exemple de fermeture de la connexion à la base de données :

PHP : fermeture de la connexion à la base de données

php
<?php
mysqli_close($conn);
?>

Conclusion

Dans cet article, nous vous avons montré comment récupérer l'ID de la dernière insertion en PHP et MySQL. En suivant ces étapes, vous devriez être en mesure de récupérer l'ID du dernier enregistrement inséré dans votre base de données. Il est important de noter que les étapes exactes peuvent varier en fonction du système de gestion de base de données spécifique que vous utilisez, alors n'hésitez pas à consulter la documentation de votre système pour plus d'informations.

Pratique

Quelles méthodes peuvent être utilisées pour obtenir l'ID de la dernière insertion en PHP et MySQL ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.