Problème d'update

LaTeX
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 19:49

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

ViPHP
ViPHP | 60 Messages

04 mars 2005, 21:15

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

LaTeX
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 21:50

alut Flood,

Mon champ nombre est de type smallint(6)

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

ViPHP
ViPHP | 60 Messages

04 mars 2005, 22:58

Est-ce que tu es sûr de bien utiliser la fonction mysql_fetch_row() ? => http://fr.php.net/mysql_fetch_row ;)

/Flood

LaTeX
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 23:28

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 ?

LaTeX
Invité n'ayant pas de compte PHPfrance

05 mars 2005, 14:59

[résolu]