Erreur SQL avec UPDATE

Eléphanteau du PHP | 11 Messages

26 juil. 2007, 01:52

Bonsoir, ca fait quelques jours que je bute sur une requête SQL. Dès que je veux mettre à jour les données, l'erreur suivante s'affiche :

Code : Tout sélectionner

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 'match='AAS', armereb='AK47 & GP25', armejo='M60', fonction1='', fonction2='', p' at line 1
Voici ma requête :
mysql_query("UPDATE team SET pseudo='$pseudo', rang='$rang', pays='$pays', mail='$mail', match='$match', armereb='$armereb', armejo='$armejo', fonction1='$fonction1',  fonction2='$fonction2', place='$place', meneur='$meneur ', niveau='$niveau' WHERE id='$id_membre'") OR die(mysql_error());
Si vous avez besoin du script PHP, je vous le donnerai.

Merci d'avance de votre aide :wink:

ViPHP
ViPHP | 928 Messages

26 juil. 2007, 09:16

Fait un
echo "UPDATE team SET pseudo='$pseudo', rang='$rang', pays='$pays', mail='$mail', match='$match', armereb='$armereb', armejo='$armejo', fonction1='$fonction1', fonction2='$fonction2', place='$place', meneur='$meneur ', niveau='$niveau' WHERE id='$id_membre'"
Test ta requête dans PhpMyAdmin et debug là en supprimant des morceaux de ta requête jusqu'à trouver le morceau qui plante.

Eléphant du PHP | 153 Messages

26 juil. 2007, 10:01

Remplace match par `match` (caractère sur la touche 7), match est un mot clé de SQL, donc du coup il ne voit pas l'attribut mais le mot clé.
http://gl2.delcedo.com/ Galaxialord 2 !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 juil. 2007, 10:36

Juste un petit conseil : les messages d'erreurs de MySQL commence à l'endroit de l'erreur. Du coup, comme le message que tu nous donnes commence à "match='AAS' ...", c'est ce qui a du permettre à delcedo galaxialord de trouver ton erreur.

Sinon, même si tu ne le savais surement pas au moment où tu as créé tes tables, l'utilisation de ` est une mauvaise chose car il est plus pérenne de ne pas utiliser de mot-clés réservés dans les tables.
Tu le sauras pour la prochaine fois ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 11 Messages

26 juil. 2007, 11:09

Merci beaucoup de votre aide, je vais modifier le nom de ta table. Je vous dit ensuite si ca fonctionne. :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 juil. 2007, 11:15

euh ... c'est pas le nom qui gène, c'est le champ "match" ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 153 Messages

26 juil. 2007, 11:37

le nom du champ pour être plus précis
Image
http://gl2.delcedo.com/ Galaxialord 2 !

Eléphanteau du PHP | 11 Messages

26 juil. 2007, 20:06

Il était encore tôt pour moi, je voulais dire le nom du champs oui :)
Le problème est résolu, merci beaucoup !!


Sinon, je me permet de poser cette question ici afin de ne pas créer un autre topic. J'aimerais savoir comment faire pour que des boutons radio ou une liste déroulante soit sélectionnés en fonction d'un paramètre dans la base de donnés.

Je m'explique, si par exemple, on a deux boutons radio, un avec Oui et l'autre avec Non. Si un membre coche Non, le non est enregistré dans la base de données.

Ce que j'aimerai, c'est que quand on édite le profil du membre, que le nom soit sélectionné.


Est-ce possible ?


Encore une fois, merci d'avance.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 juil. 2007, 22:21

Oui, c'est possible.

Par contre, je ne te donnerais pas la réponse ici parce que le forum regorge de sujet donnant la solution. ;)
De plus, il vaut mieux créer un sujet par question que d'enchainer les questions dans un seul sujet ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 11 Messages

27 juil. 2007, 00:23

D'accords, je vais chercher ca :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 juil. 2007, 00:24

Et si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer