Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 20h28   #1
Invité de passage
 
Homme Alves Alexandre
Collègien
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Alves Alexandre
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Collègien

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Par défaut Problème avec UPDATE

Bonsoir,

Voila 3h que je bloque sur un problème.

J'utilise UPDATE mais la base de données ne change pas et le script me renvoie une erreur :

Citation:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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='1', win='1' WHERE id='7'' at line 1' in C:\wamp\www\ggc\rate.php:40 Stack trace: #0 C:\wamp\www\ggc\rate.php(40): PDO->exec('UPDATE filles S...') #1 {main} thrown in C:\wamp\www\ggc\rate.php on line 40

Voici le code :

Code :
1
2
$req = $bdd->exec('UPDATE filles SET match='.$nb_match1.', win= '.$nb_win.' WHERE id = '.$win.'');
$req2 = $bdd->exec('UPDATE filles SET match = '.$nb_match2.', lost = '.$nb_lost.' WHERE id ='.$lost.'');

Je suis en localhost sous wamp. Toutes les variables existes ainsi que la table "filles"

Merci d'avance,
Alexandre
Aleeex03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 20h47   #2
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Vu le code d'erreur, c'est une erreure de syntaxe.

Si tu fais
Code :
1
2
3
4
 
$str = 'UPDATE filles SET match='.$nb_match1.', win= '.$nb_win.' WHERE id = '.$win.'';
echo $str;
die;
que tu récupères en copier coller la requête obtenue, et que tu l'exécutes ensuite sur ta base de données (via phpmyadmin par exemple, qui est surement installé si tu utilises wamp), ça marche ?
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 20h54   #3
Invité de passage
 
Homme Alves Alexandre
Collègien
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Alves Alexandre
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Collègien

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
J'ai enfin compris. J'ai rentré la requête dans phpMyAdmin comme tu me l'a dis et il m'affiche SET MATCH comme UPDATE et WHERE !
Il faut que je change le nom de la table et ca devrait marché !

Merci !
Aleeex03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 08h48   #4
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Pas de soucis
C'est un réflexe à avoir quand on comprend pas pourquoi une requête ne passe pas...

Plutôt que de changer le nom de la colonne "match" (MATCH est une fonction de MySQL), tu peux écrire la requête comme ceci, avec des back-quotes, ça devrait passer :
Code :
1
2
 
$msg = 'UPDATE filles SET `match`='.$nb_match1.', win= '.$nb_win.' WHERE id = '.$win.''
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web