8.80 MySQL
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Notes . Exemples . mysql_affected_rows . mysql_change_user . mysql_client_encoding . mysql_close . mysql_connect . mysql_create_db . mysql_data_seek . mysql_db_name . mysql_db_query . mysql_drop_db . mysql_errno . mysql_error . mysql_escape_string . mysql_fetch_array . mysql_fetch_assoc . mysql_fetch_field . mysql_fetch_lengths . mysql_fetch_object . mysql_fetch_row . mysql_field_flags . mysql_field_len . mysql_field_name . mysql_field_seek . mysql_field_table . mysql_field_type . mysql_free_result . mysql_get_client_info . mysql_get_host_info . mysql_get_proto_info . mysql_get_server_info . mysql_info ->mysql_insert_id . mysql_list_dbs . mysql_list_fields . mysql_list_processes . mysql_list_tables . mysql_num_fields . mysql_num_rows . mysql_pconnect . mysql_ping . mysql_query . mysql_real_escape_string . mysql_result . mysql_select_db . mysql_stat . mysql_tablename . mysql_thread_id . mysql_unbuffered_query
|
8.80.40 mysql_insert_id()
Retourne l'identifiant généré par la dernière requête INSERT MySQL
[ Exemples avec mysql_insert_id ] PHP 3, PHP 4, PHP 5
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
.
-
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.
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.
| 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()); ?>
|
| 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. A 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.
|
|