Problème en php

snow.alex Messages postés 150 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai un problème avec un code php :


<?php

$force2 = $force+1;

mysql_query("UPDATE membres SET force='$force2', pieces='pieces-1' WHERE pseudo='$pseudo' ") or die ('Erreur : '.mysql_error());

?>

Or, quand je lance ce script, voici le code d'erreur que j'ai :

Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'force='2' WHERE pseudo='pseudo'' at line 1


J'ai tout essayé, avec les guillemets, sans les guillemets, en déplaçant une virgule, tout, mais ce code d'erreur revient tout le temps.

Pouvez vous m'aider svp ?
A voir également:

3 réponses

crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 013
 
Salut,

Si ton champ force2 de la base est numérique (ce qui est certainement le cas, pas besoin des ' ' autour de ta variable !
0
snow.alex Messages postés 150 Date d'inscription   Statut Membre Dernière intervention   11
 
Ok alors je remplace avec ca :

$force2 = $force+1;
$npieces = $pieces - $prix;
mysql_query("UPDATE membres SET force=$force2, pieces=$npieces WHERE pseudo='$pseudo' ") or die ('Erreur : '.mysql_error());


Et ca me met ca :

Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'force=2, pieces=1882 WHERE pseudo='pseudo'' at line 1
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

"FORCE" est un mot-clé en SQL, il faut donc échapper l'échapper. (c'est une habitude que je te conseil de prendre pour les noms de tables et de champs dans tes requêtes).

Pour l'échapper, il suffit de l'entourer d'accent grâve seuls.
https://gist.github.com/anonymous/257ee3d4a55add0e758d
(je suis obligé de passer par un site externe, CCM remplace les accents grâves seuls par des apostrophes)
0