Formats vidéo
Ce chapitre décrit les formats vidéo les plus communs ( ou les plus
populaires ).
Cet article explique comment utiliser cette fonction, avec des exemples en PHP procédural et orienté objet.
La fonction insert_id() ou mysqli_insert_id() permet de récupérer l'identifiant auto-incrémenté d'une ligne insérée dans une table MySQL.
La fonction insert_id() est disponible dans tous les scripts PHP. Elle retourne l'identifiant auto-incrémenté de la dernière ligne insérée dans une table MySQL.
comme la fonction insert_id(), la fonction mysqli_insert_id() est disponible dans les scripts PHP qui utilisent l'extension mysqli. Elle retourne également l'identifiant auto-incrémenté de la dernière ligne insérée dans une table MySQL.
En PHP orienté objet, la fonction insert_id() est accessible via l'objet mysqli. La syntaxe est la suivante :
// Récupérer l'identifiant auto-incrémenté $id = $mysqli->insert_id;
En PHP procédural, la fonction mysqli_insert_id() est accessible via la fonction mysqli_insert_id(). La syntaxe est la suivante :
// Récupérer l'identifiant auto-incrémenté $id = mysqli_insert_id($mysqli);
La fonction insert_id() retourne une valeur entière. Si aucune ligne n'a été insérée, la fonction retourne la valeur 0.
La fonction insert_id() ne prend aucun paramètre.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if ($mysqli->connect_error) { die('Erreur de connexion : ' . $mysqli->connect_error); } // INSERT $query = 'INSERT INTO `users` (`name`, `age`) VALUES ("John Doe", 30);'; $mysqli->query($query); // Récupérer l'identifiant auto-incrémenté $id = $mysqli->insert_id; // Affichage de l'identifiant echo $id; ?>
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if (mysqli_connect_errno()) { die('Erreur de connexion : ' . mysqli_connect_error()); } // INSERT $query = 'INSERT INTO `users` (`name`, `age`) VALUES ("John Doe", 30);'; mysqli_query($mysqli, $query); // Récupérer l'identifiant auto-incrémenté $id = mysqli_insert_id($mysqli); // Affichage de l'identifiant echo $id; ?>
Voici quelques cas d'utilisation de la fonction insert_id(), avec des exemples dans les deux approches (orientée objet et procédurale) :
Insérer un nouvel utilisateur dans une table "users" et récupérer son ID auto-incrémenté.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if ($mysqli->connect_error) { die('Erreur de connexion : ' . $mysqli->connect_error); } // INSERT un nouvel utilisateur $query = 'INSERT INTO `users` (`name`, `age`) VALUES ("John Doe", 30);'; $mysqli->query($query); // Récupérer l'identifiant auto-incrémenté de l'utilisateur ajouté $id = $mysqli->insert_id; // Affichage de l'identifiant echo "L'identifiant de l'utilisateur ajouté est : " . $id; ?>
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if (mysqli_connect_errno()) { die('Erreur de connexion : ' . mysqli_connect_error()); } // INSERT un nouvel utilisateur $query = 'INSERT INTO `users` (`name`, `age`) VALUES ("John Doe", 30);'; mysqli_query($mysqli, $query); // Récupérer l'identifiant auto-incrémenté de l'utilisateur ajouté $id = mysqli_insert_id($mysqli); // Affichage de l'identifiant echo "L'identifiant de l'utilisateur ajouté est : " . $id; ?>
Gérer une table de commandes avec des ID auto-incrémentés.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if ($mysqli->connect_error) { die('Erreur de connexion : ' . $mysqli->connect_error); } // INSERT une nouvelle commande $query = 'INSERT INTO `orders` (`customer_id`, `total_amount`) VALUES (1, 100);'; $mysqli->query($query); // Récupérer l'identifiant auto-incrémenté de la commande ajoutée $id = $mysqli->insert_id; // Affichage de l'identifiant echo "L'identifiant de la commande ajoutée est : " . $id; ?>
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if (mysqli_connect_errno()) { die('Erreur de connexion : ' . mysqli_connect_error()); } // INSERT une nouvelle commande $query = 'INSERT INTO `orders` (`customer_id`, `total_amount`) VALUES (1, 100);'; mysqli_query($mysqli, $query); // Récupérer l'identifiant auto-incrémenté de la commande ajoutée $id = mysqli_insert_id($mysqli); // Affichage de l'identifiant echo "L'identifiant de la commande ajoutée est : " . $id; ?>
La fonction insert_id() peut être utilisée pour générer un ID unique pour un nouvel enregistrement. Par exemple, si vous avez une table de produits avec une colonne id de type INT ayant l'attribut AUTO_INCREMENT, vous pouvez utiliser la fonction insert_id() pour générer un ID unique pour un nouveau produit que vous insérez dans la table.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if ($mysqli->connect_error) { die('Erreur de connexion : ' . $mysqli->connect_error); } // INSERT $query = 'INSERT INTO `products` (`name`, `price`) VALUES ("Product 1", 100);'; $mysqli->query($query); // Récupérer l'identifiant auto-incrémenté $id = $mysqli->insert_id; // Affichage de l'identifiant echo $id; ?>
Utilisez le code avec précaution. En savoir plus
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if (mysqli_connect_errno()) { die('Erreur de connexion : ' . mysqli_connect_error()); } // INSERT $query = 'INSERT INTO `products` (`name`, `price`) VALUES ("Product 1", 100);'; mysqli_query($mysqli, $query); // Récupérer l'identifiant auto-incrémenté $id = mysqli_insert_id($mysqli); // Affichage de l'identifiant echo $id; ?>
Utilisez le code avec précaution. En savoir plus
La fonction insert_id() peut également être utilisée pour créer une relation parent-enfant entre deux tables. Par exemple, si vous avez une table de parents avec une colonne id de type INT ayant l'attribut AUTO_INCREMENT, et une table d'enfants avec une colonne parent_id de type INT, vous pouvez utiliser la fonction insert_id() pour récupérer l'ID du parent nouvellement créé et le placer dans la colonne parent_id de l'enfant.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if ($mysqli->connect_error) { die('Erreur de connexion : ' . $mysqli->connect_error); } // INSERT $query = 'INSERT INTO `parents` (`name`) VALUES ("Parent 1");'; $mysqli->query($query); // Récupérer l'identifiant auto-incrémenté $parent_id = $mysqli->insert_id; // INSERT $query = 'INSERT INTO `children` (`name`, `parent_id`) VALUES ("Child 1", ' . $parent_id . ');'; $mysqli->query($query); ?>
Utilisez le code avec précaution.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = mysqli_connect('seveur', 'utilisateur, 'motDePasse', 'ma_base_de_données'); // Vérification de la connexion if (mysqli_connect_errno()) { die('Erreur de connexion : ' . mysqli_connect_error()); } // INSERT $query = 'INSERT INTO `parents` (`name`) VALUES ("Parent 1");'; mysqli_query($mysqli, $query); // Récupérer l'identifiant auto-incrémenté $parent_id = mysqli_insert_id($mysqli); // INSERT $query = 'INSERT INTO `children` (`name`, `parent_id`) VALUES ("Child 1", ' . $parent_id . ');'; mysqli_query($mysqli, $query); ?>
Utilisez le code avec précaution.
Ces exemples illustrent deux cas courants d'utilisation de la récupération de l'identifiant auto-incrémenté, l'un pour l'ajout d'un nouvel utilisateur et l'autre pour l'ajout d'une nouvelle commande dans une base de données. Les deux approches, orientée objet et procédurale, permettent d'accomplir la même tâche de manière équivalente.