Fonction LAST_INSERT_ID() à l'aide svp

Résolu
Bonjour,

Voila je voudrais savoir si la fonction LAST_INSERT_ID() renvoie le dernier id générer dans une table bien définie ou est ce qu'elle renvoie le dernier Id générer dans toute la base de données ?...

Si elle renvoie le dernier Id d'une table est ce que c'est possible de l'utilisé pour gérer les clés étrangères ???. Il y a ceux qui utilise mysql_insert_id ou est la différence entre les deux?

Merci beaucoup d'avance pour votre aide...

1 réponse

  1. C'est mysql_insert_id, et pas last_insert_id. Elle renvoie l'id généré après une requête SQL, tu ne peux pas l'utiliser sans faire de mysql_query("INSERT INTO ...") avant.

    Exemple :
    <?php
    mysql_connect();
    mysql_select_db();
    
    $sql = 'INSERT INTO membres(login, password) VALUES("avion-f16","topsecret")';
    mysql_query($sql);
    
    $id = mysql_insert_id();
    echo 'Inscription réussie !<br/>'
     . '<a href="profil-'.$id.'.html">Afficher mon profil</a>';
    
    ...
    ?>


    Si tu veux récupérer le dernier id sans faire d'insertion :
    SELECT id FROM table ORDER BY id DESC LIMIT 0, 1

    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    1
    1. Ok merci beaucou pour votre aide, et si deux instructions sont executées en meme temps sur la meme base de données ça marchera aussi dans ce cas la ?
      0
    2. Oui, pour le dernier mysql_query()
      0
    3. et dans ce cas alors l'avant dernier ne sera pas traiter? alors que moi je voudrais utiliser cette fonction pour gérer les clés étrangères de ma bd...
      0
    4. Quand tu appelles mysql_insert_id, cette fonction récupère l'id généré avec le dernier mysql_query utilisé au-dessus.
      0
    5. donc le dernier mysql_query de la meme page et pas des autres pages c'est cela ?
      0