je veux savoir comment je peux récuperer la derniére valeur d'un champs auto incrément pour l'utiliser dans une requéte d'insertion
je veux savoir comment je peux récuperer la derniére valeur d'un champs auto incrément pour l'utiliser dans une requéte d'insertion
Bonjour,
regarde autour de getLastId
$con->getLastID();
ma requete d'isertion est la suivante ou je vais mettre $con->getLastID();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $sql = "INSERT INTO parle(ID_LANGUE) VALUES('$select3')"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
oula moi j'opterais pour une simple requete msql qui retourne la plus grande valeure du champs auto_increment
Vas plutot voir du coté SQL plutot que php
Tu auras toutes les infos que tu cherches ici :
http://php.net/mysql_insert_id
Non pas du tout !Envoyé par zulot
Il y a un gros risque de concurrence dans cette solution => deux utilisateurs risquent d'avoir le meme id si ils demandent en même temps.
Envoyé par Mr N.
Dans la methode cité au dessus aussi.
Non parce que mysql_insert_id ne travaille que sur la connexion courante.Envoyé par zulot
Bonjour de rien merci avec plaisir salutEnvoyé par belakhdarbts
Non.Envoyé par zulot
Une table dont la "dernière" ligne est :
Deux utilisateurs A et B arrivent en même temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ... 1234 "Toto"
A fais un insert du "Tutu" et B fais un insert de "Titi"
La méthode bourrine qui consiste à faire en gros un select max(id) :
A => INSERT "Tutu" => 1235
B => INSERT "Titi" => 1236
B => SELECT MAX(id) => 1236
A => SELECT MAX(id) => 1236
/!\ Problème, A obtiens un id qui ne correspond pas à son insertion /!\
La méthode last insert id :
A => INSERT "Tutu" => 1235
B => INSERT "Titi" => 1236
B => last insert id => 1236
A => last insert id => 1235
Tout est bon, A a bien récupérer l'id correspondant à son insertion.
Tout ceci car last insert id est propre à la connexion.
est ce que je peux écrire comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $sql = "INSERT INTO parle(ID_LANGUE,ID_CANDID) VALUES('$select3','$ID_CANDID') WHERE ID_CANDID = ( SELECT LAST id from candidats)" ; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Si tu ne lis pas les réponses à tes questions, tu peux tout aussi bien arrêter d'en poser.Envoyé par belakhdarbts
bonjour tous le monde voila mon code d'insertion
je veux inserer le derniere id candid de la table candidats dans la table parle
mais ça ne marche pas il m'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $sql = "INSERT INTO parle(ID_LANGUE,ID_CANDID) VALUES('$select3','$ID_CANDID') SELECT SELECT LAST_INSERT_ID() " ; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Notice: Undefined variable: ID_CANDID in c:\program files\easyphp1-8\www\call services site web\insertioncandidats.php on line 56
Erreur SQL !INSERT INTO parle(ID_LANGUE,ID_CANDID) VALUES('1','') SELECT SELECT LAST_INSERT_ID()
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT SELECT LAST_INSERT_ID()' at line 2
merci pour vos réponces
y'a ça qui traine dans la :
http://php.developpez.com/faq/?page=..._mysqlinsertid
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
si t veux recupérer et inserer le dernier id de l'autre table, utilise la fonction mysql_insert_id()(sais plus si l'orthographe est correcte)
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager