ligne de table altérée lors de commande sur la ligne voisine

Eléphant du PHP | 93 Messages

24 janv. 2007, 14:36

Bonjour,

voici ma question :

je sais qu'il vaut mieux mettre ça :

Code : Tout sélectionner

mysql_query("UPDATE informations SET puissance=('".$row['anciennepuissance']."'+1) where login ='".$row['login']."'");
que ça :

Code : Tout sélectionner

mysql_query("UPDATE informations SET puissance=puissance+1 where login ='".$row['login']."'");
Mais je me suis aperçu que le second fonctionne bien.
Comme il est plus rapide à écrire, je l'ai davantage utilisé dans mes codes.

Mais voilà qu'un problème apparaît au niveau SQL :

lorsque la puissance est changée, il arrive que la ligne intelligence ou une autre prenne soudainement la même valeur que la puissance !

J'ai cherché dans tous mes codes, et je ne trouve nulle part, pour le moment, d'erreur du genre :

Code : Tout sélectionner

SET intelligence=puissance+1
Donc est-il possible que le fait d'utiliser la seconde version puisse créer une confusion au niveau SQL ?
Et qu'une ligne de la table change avec la ligne suivante, assez bizarrement ?