Page 1 sur 1

Problème d'update

Posté : 04 mars 2005, 19:49
par LaTeX
ma table : "compteur" contient le champ "nombre" qui est un entier initialisé à 0.

mon script :

Code : Tout sélectionner

$sql="select nombre from compteur"; $res=mysql_query($sql,$connexion); $nombre=mysql_fetch_row($res); $nombre++; /* Jusque là tout va bien */ $sql="update compteur set nombre=$nombre"; if(!$ok=mysql_query($sql,$connexion)) echo"<br>erreur"; else echo"<br>OK.<br>\$nombre = ".$nombre;
Tout fonctionne, excepté que la valeur du champ "nombre" ne change pas, elle reste à 0.

SVP, expliqué moi ce qui ne va pas.

PS : j'utilise easyphp 1.8 en local sous XP pro

Posté : 04 mars 2005, 21:15
par Flood
Hello,

De quel type est ton champ nombre dans ta table ?

Pourquoi faire 2 requêtes SQL alors que tu peux n'en faire qu'une ?

Code : Tout sélectionner

UPDATE compteur SET nombre=nombre+1;
/Flood

Posté : 04 mars 2005, 21:50
par LaTeX
alut Flood,

Mon champ nombre est de type smallint(6)

J'ai essayé avec ton script SQL mais même résultat.

Posté : 04 mars 2005, 22:58
par Flood
Est-ce que tu es sûr de bien utiliser la fonction mysql_fetch_row() ? => http://fr.php.net/mysql_fetch_row ;)

/Flood

UPDATE

Posté : 04 mars 2005, 23:28
par LaTeX
En-effet, il y avait une erreur.
J'ai remplacé :
$nombre=mysql_fetch_row($res);
par :
list($nombre)=mysql_fetch_row($res);
Maintenant la variable "$nombre" prend la valeur 1 (la valeur du champ "nombre" incrémentée de 1), mais le champ "nombre" de la table compteur, reste à zéro.

Il y a un truc qui m'échappe, mais quoi ?

Posté : 05 mars 2005, 14:59
par LaTeX
[résolu]