UPDATE problématique
Résolu
nestor94
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
nestor94 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
nestor94 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je viens de constater que cette écriture d' update avec jointure ne fonctionne pas correctement....
exemple pour membre 1
avec un second utilisateur qui utiliserait
exemple pour membre 2
Là, cela modifie AUSSI en table les champs chez le précédent utilisateur. (le membre 1 qui avait des arbres dans une foret se retrouve avec de l'herbe dans une prairie.!) et ainsi de suite.
En fait le dernier update appelé modifie les précédents en table !
J'ai testé sans succès avec
WHERE membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y
WHERE membres.id
WHERE membres.id= id
ce dernier devrait logiquement fonctionner mais j'ai toujours
Integrity constraint violation: 1052 Champ: 'id' dans where clause est ambigu
Quelle serait la méthode correcte pour que cet update fonctionne indépendamment de chaque utilisateur?
je viens de constater que cette écriture d' update avec jointure ne fonctionne pas correctement....
exemple pour membre 1
$pdostat = $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.tile = '/relief/tile_foret.gif', map.ressource = '/objets/arbre.gif', map.qte_ressource = 500 ");
avec un second utilisateur qui utiliserait
exemple pour membre 2
$pdostat = $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y SET map.tile = '/relief/tile_prairie.gif', map.ressource = '/objets/herbe.gif', map.qte_ressource = 500");
Là, cela modifie AUSSI en table les champs chez le précédent utilisateur. (le membre 1 qui avait des arbres dans une foret se retrouve avec de l'herbe dans une prairie.!) et ainsi de suite.
En fait le dernier update appelé modifie les précédents en table !
J'ai testé sans succès avec
WHERE membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y
WHERE membres.id
WHERE membres.id= id
ce dernier devrait logiquement fonctionner mais j'ai toujours
Integrity constraint violation: 1052 Champ: 'id' dans where clause est ambigu
Quelle serait la méthode correcte pour que cet update fonctionne indépendamment de chaque utilisateur?
A voir également:
- Time zone updater virus
- Popcorn time - Télécharger - TV & Vidéo
- Alternative zone telechargement - Accueil - Outils
- Finish time lite - Télécharger - Utilitaires
- Updater - Télécharger - Édition & Programmation
- Quick time - Télécharger - Lecture
3 réponses
Bonjour,
Tu veux mettre à jour un utilisateur en particulier ?
Tu connais son ID ?
Ou sinon, comment identifies tu l'utilisateur à mettre à jour ?
Car oui, il faut bien un WHERE .... mais il faut lui donner une valeur ....
là tu indiques juste id ... donc le nom d'une colonne en bdd ... mais il ne va pas deviner tout seul lequel mettre à jour...
Tu veux mettre à jour un utilisateur en particulier ?
Tu connais son ID ?
Ou sinon, comment identifies tu l'utilisateur à mettre à jour ?
Car oui, il faut bien un WHERE .... mais il faut lui donner une valeur ....
là tu indiques juste id ... donc le nom d'une colonne en bdd ... mais il ne va pas deviner tout seul lequel mettre à jour...
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, as-tu essayé
WHERE membres.id= 1?