English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_insert_id() retourne l'ID auto-incrementé généré par la dernière instruction INSERT
Si vous avez une table avec une propriété AUTO_INCREMENT et si votre dernière appel de fonction MySQLi exécute une instruction INSERT ou UPDATE. La fonction a pour effet de : retourner l'ID généré automatiquement lors de la dernière exécution de la requête.
mysqli_insert_id($con)
Numéro | Paramètres et explications |
---|---|
1 | con(obligatoire) C'est un objet représentant la connexion au serveur MySQL. |
La fonction mysqli_insert_id() retourne la valeur de la colonne AUTO_INCREMENT de la dernière requête SQL (généralement une requête INSERT) qui a été opérée. Si la dernière requête SQL n'est pas une requête INSERT ou UPDATE, ou si la table opérée n'a pas de colonne AUTO_INCREMENT, la valeur retournée est 0.
Cette fonction a été introduite dans la version PHP5introduit et peut être utilisé dans toutes les versions supérieures.
Supposons que nous ayons créé une table nommée Cricketers dans la base de données mydb, où le champ ID est PRIMARY KEY et AUTO INCREMENTED :
CREATE TABLE Cricketers( ID INT PRIMARY KEY AUTO_INCREMENT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Date_Of_Birth date, Place_Of_Birth VARCHAR(255), Country VARCHAR(255) );
Voici un exemple qui montremysqli_insert_id()Utilisation de la fonction (style procédural)-
<?php //Établir une connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); //Insérer un enregistrement dans la table employee $sql = "insert into Cricketers values(1, 'Shikhar', 'Dhawan', DATE('1981-12-05), 'Delhi', 'India')"; mysqli_query($con, $sql); //ID d'insertion $id = mysqli_insert_id($con); print("Insert ID: ".$id ."\n"); $sql = "insert into Cricketers values(2, 'Jonathan', 'Trott', DATE('1981-04-22), 'CapeTown', 'SouthAfrica')"; mysqli_query($con, $sql); $id = mysqli_insert_id($con); print("Insert ID: ".$id); //Fermer la connexion mysqli_close($con); ?>
Résultat de la sortie
Insert ID: 1 Insert ID: 2
Dans le style orienté objet, la syntaxe de cette fonction est$ con-> insert_id();。Voici un exemple de la fonction This du style orienté objet $ minus;
<?php //Établir une connexion $con = new mysqli("localhost", "root", "password", "mydb"); //Insérer un enregistrement dans la table employee $con -> query("insert into Cricketers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state."\n"); //Insérer un enregistrement dans la table employee $con -> query("insert into Cricketers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state); //Fermer la connexion $con -> close(); ?>
Résultat de la sortie
Insert ID: 3 Insert ID: 4
Voici la fonctionmysqli_insert_idUn autre exemple-
<?php //Établir une connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); //Requête pour sélectionner toutes les lignes de la table Cricketers mysqli_query($con, "SELECT * FROM Cricketers"); print("Insert ID (requête sélectionnée): ".mysqli_insert_id($con)."\n"); //Requête utilisée pour insérer plusieurs lignes dans la table Cricketers mysqli_query($con, "INSERT INTO Cricketers VALUES (5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'), (6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India') "); print("Insert ID: (multiples inserts) ".mysqli_insert_id($con)."\n"); //Requête pour mettre à jour les lignes de la table employee mysqli_query($con, "Mettre à jour la table Cricketers en fixant COUNTRY à 'S.Africa' où ID = "); 2" print("ID d'insertion (requête de mise à jour): " . mysqli_insert_id($con) . "\n"); //La requête insère un enregistrement dans la table employee mysqli_query($con, "INSERT INTO employee VALUES ('Sarmista', 'Sharma', 28, 'F', 15000, 101); print("ID d'insertion: (tableau sans clé auto-incrementée) " . mysqli_insert_id($con) . "\n"); //Fermer la connexion mysqli_close($con); ?>
Résultat de la sortie
ID d'insertion (requête de sélection): 0 ID d'insertion: (insertions multiples) 6 ID d'insertion (requête de mise à jour): 0 ID d'insertion: (tableau sans clé auto-incrementée) 0
Les exemples suivants montrent les requêtes SELECT, UPDATE, INSERT et DELETEmysqli_insert_idUtilisation de la fonction-
<?php $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb"); if (mysqli_connect_errno($connection_mysql)){ echo "Échec de la connexion MySql: " . mysqli_connect_error(); } mysqli_query($connection_mysql,"INSERT INTO Employee (name) VALUES('PHP')"); echo "Nouvel enregistrement a l'id: " . mysqli_insert_id($connection_mysql); mysqli_close($connection_mysql); ?>
Résultat de la sortie
Nouvel enregistrement a l'id: 0