Manuel PHP
Précédent |  | Suivant

# mysql_insert_id

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- Retourne l'identifiant généré par la dernière requête INSERT MySQL

## Description

int mysql_insert_id ( [resource link_identifier] )

mysql_insert_id() 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.

## 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 INSERT 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

Attention
mysql_insert_id() convertit le type de valeur retourné par la fonction C de MySQL C mysql_insert_id() en type PHP long (appelé int en PHP). Si votre colonne de type AUTO_INCREMENT est une colonne de type BIGINT, la valeur retournée par mysql_insert_id() sera incorrecte. À la place, utilisez la fonction interne MySQL LAST_INSERT_ID() dans une requête SQL.

> 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()
mysql_info()

Précédent | Sommaire | Suivant
mysql_info | Niveau supérieur | mysql_list_dbs