acces concurentiel - PHP - Programmation
Marsh Posté le 08-05-2003 à 18:02:01
y'a de l'embrouille la... je vois comment ca peut donner ce que tu dit ton truc.
Marsh Posté le 08-05-2003 à 18:04:27
mysql_insert_id() est lié à une connexion. Si tu scripts PHP font des insertions, ils utiliseront chacun leur propre connexion à la base, donc ne se mélangeront pas leur LAST_INSERT_ID() (ce que renvoie en fait mysql_insert_id())
Marsh Posté le 08-05-2003 à 18:17:10
mrBebert a écrit : mysql_insert_id() est lié à une connexion. Si tu scripts PHP font des insertions, ils utiliseront chacun leur propre connexion à la base, donc ne se mélangeront pas leur LAST_INSERT_ID() (ce que renvoie en fait mysql_insert_id()) |
pas si sûr que toi ... par prudence, je passerai l'identifiant de connexion en paramètre.
Marsh Posté le 08-05-2003 à 18:20:42
ok merci en fait ca donne ca :
Code :
|
mysql_query connexion1
mysql_query connexion2
mysql_insert_id connexion2
mysql_insert_id connexion1
donc la pas de pb ;-)
merci encore !!!
Marsh Posté le 08-05-2003 à 18:26:16
simogeo a écrit : pas si sûr que toi ... par prudence, je passerai l'identifiant de connexion en paramètre. |
J'en suis sur et certain. 2 scripts PHP n'utilisent pas la même connexion à la base de données, donc ne se mélangeront pas leurs LAST_INSERT_ID().
Ce qui est défférent du cas où 1 script utilise 2 connexions vers 2 bases de données différentes.
Marsh Posté le 08-05-2003 à 18:29:21
mrBebert a écrit : J'en suis sur et certain. 2 scripts PHP n'utilisent pas la même connexion à la base de données, donc ne se mélangeront pas leurs LAST_INSERT_ID(). |
ah oui exact , (désolé pour le doute)
Marsh Posté le 08-05-2003 à 17:52:11
salut,
j ai un code en gros ca donne ca :
il se passe quoi si 2 personnes appellent cette fonction en meme temps et que l ordre d appel des fonctions donne :
mysql_query user1
mysql_query user2
mysql_insert_id user2
mysql_insert_id user1
ca veut dire que user2 aura l ID de la ligne de user 1 et vice versa
c pas cool
comment peut on remedier a ca ?
merci