mysql_insert_id
(PHP 4, PHP 5)
mysql_insert_id — Retourne l'identifiant généré par la dernière requête
Cette extension était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL. Voir aussi MySQL : choisir une API du guide et ces entrées de la FAQ pour plus d'informations. Alternatives à cette fonction :
Description
$link_identifier
= NULL
] )
Retourne le dernier identifiant généré par un champ de type AUTO_INCREMENT,
sur la connexion MySQL courante ou sûr la connexion
spécifiée par link_identifier
(habituellement, une
requête de type INSERT).
Liste de paramètres
-
link_identifier
-
La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte
E_WARNING
est générée.
Valeurs de retour
L'ID généré pour une colonne AUTO_INCREMENT par la dernière
requête en cas de succès, 0 si la dernière requête n'a pas
généré de valeur AUTO_INCREMENT, ou FALSE
si aucune connexion
MySQL n'a été établie.
Exemples
Exemple #1 Exemple avec mysql_insert_id()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Le dernier ID inséré dans est le id %d\n", mysql_insert_id());
?>
Notes
mysql_insert_id() convertira le type retourné de la fonction native MySQL C API mysql_insert_id() en un type long (nommé int en PHP). Si votre colonne AUTO_INCREMENT a une colonne de type BIGINT (64 bits), la conversion peut résulter en une valeur incorrecte. À la place, utilisez la fonction SQL interne à MySQL LAST_INSERT_ID() dans une requête SQL. Pour plus d'informations sur les valeurs entières maximales en PHP, reportez-vous à la documentation sur les entiers.
Note:
Parce que mysql_insert_id() agit sur la dernière requête exécutée, assurez-vous d'appeler la fonction mysql_insert_id() immédiatement après l'exécution de la requête qui a générée la valeur.
Note:
La fonction MySQL LAST_INSERT_ID() contient toujours la valeur AUTO_INCREMENT la plus récente, et n'est pas remise à zéro entre deux requêtes.
Voir aussi
- mysql_query() - Envoie une requête à un serveur MySQL
- mysql_info() - Lit des informations à propos de la dernière requête MySQL
Version en cache
23/12/2024 15:49:46 Cette version de la page est en cache (à la date du 23/12/2024 15:49:46) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysql-insert-id.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.