mysql_insert_id

(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() - Envoie une requ�te � un serveur MySQL
  • mysql_info() - Lit des informations � propos de la derni�re requ�te MySQL