Qu'est-ce qui ne va pas dans la syntaxe de cet UPDATE ?
32 messages • Page 1 sur 3 • 1, 2, 3
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Qu'est-ce qui ne va pas dans la syntaxe de cet UPDATE ?
Bonjour,
Je ne sais pas à l'avance quel champ je dois updater.
Donc je fais ça :
Ca n'update pas. Donc ça vient des variables dans le set.
Quelle est la bonne syntaxe, s'il vous plait ?
Je ne sais pas à l'avance quel champ je dois updater.
Donc je fais ça :
- Code: Tout sélectionner
$update="
UPDATE
`annuaire`
SET
'".$paysAncien."'='".$paysAncien."'+1 ";
mysql_query($update);
Ca n'update pas. Donc ça vient des variables dans le set.
Quelle est la bonne syntaxe, s'il vous plait ?
peut-être parce que tu ne spécifies pas quel annuaire doit être updaté..
- Code: Tout sélectionner
$update="
UPDATE
`annuaire`
SET
'".$paysAncien."'='".$paysAncien."'+1 " where id_annuaire = 'id annuaire' ";
mysql_query($update);
-

tom_pascal - WRInaute impliqué

- Messages: 278
- Inscription: Lun Nov 17, 2003 13:58
Bonsoir, quel est le message d'erreur ?
Tu n'as pas de clause WHERE à appliquer ?
Il ne faut pas de quote simple autour du nom du champ à incrémenter dans la requête SQL :
Tu n'as pas de clause WHERE à appliquer ?
Il ne faut pas de quote simple autour du nom du champ à incrémenter dans la requête SQL :
- Code: Tout sélectionner
$update="
UPDATE
`annuaire`
SET
".$paysAncien."=".$paysAncien."+1 ";
mysql_query($update);
Non alors, ça ne doit pas bon comme syntaxe, parce que j'ai tout vérifié, j'ai affiché $paysAncien et j'ai rajouté le WHERE que j'avais omis et ça ne fonctionne pas.
Etes vous certains que l'on peut utiliser des variables comme ça dans une requête SQL ?
Etes vous certains que l'on peut utiliser des variables comme ça dans une requête SQL ?
Je ne comprend pas ta réponse Didier_S.
$paysAncien est en effet le nom du champs à updater. Tu me suggères quoi ? D'enlever les ' ".." ' ?
Voilà le dernier code testé, au complet :
Donc là, le test en bas est effectué et les données sont correctes. Mais la requête n'update pas.
$paysAncien est en effet le nom du champs à updater. Tu me suggères quoi ? D'enlever les ' ".." ' ?
Voilà le dernier code testé, au complet :
- Code: Tout sélectionner
if($specialiteAancienne==0)
{$update="
UPDATE
`categorieAnnuaire`
SET
'".$paysAncien."'='".$paysAncien."'+1
WHERE rang='".$sA."'";
mysql_query($update);
//on vérifie si l'instruction est bien effectuée et si les données sont correctes :
echo' '.$paysAncien.' -'.$sA.' ;
}
Donc là, le test en bas est effectué et les données sont correctes. Mais la requête n'update pas.
ok, la variable $paysancien contient bien le nom du champ, essayes
note que dans ce cas, ta requete est entourée de double-quotes, donc tu peux écrire plus simplement :
avant ton mysql_query, fais
- Code: Tout sélectionner
$update="
UPDATE
`categorieAnnuaire`
SET
`".$paysAncien."`=`".$paysAncien."`+1
WHERE rang='".$sA."'";
mysql_query($update);
note que dans ce cas, ta requete est entourée de double-quotes, donc tu peux écrire plus simplement :
- Code: Tout sélectionner
$update="
UPDATE
`categorieAnnuaire`
SET
`$paysAncien`=`$paysAncien`+1
WHERE rang='$sA'";
mysql_query($update);
avant ton mysql_query, fais
- Code: Tout sélectionner
echo $update;
- Code: Tout sélectionner
echo mysql_error();
Ok, ça fonctionne, j'ai donc fait comme ça :
Merci beaucoup Didier_S
- Code: Tout sélectionner
SET
`".$paysAncien."`='".$paysAncien."'+1
Merci beaucoup Didier_S
Non en fait ça ne fonctionne pas. Je viens de me rendre compte du bug :
Ca n'incrémente ou ne décrémente pas le compteur.
Ca update et ça marque 1.
Si il y avait 3, ça ne marque pas 4, mais 1.
Quand je veux décrémenter, si j'avais 3 ça ne marque pas 2 mais -1.
Ca n'incrémente ou ne décrémente pas le compteur.
Ca update et ça marque 1.
Si il y avait 3, ça ne marque pas 4, mais 1.
Quand je veux décrémenter, si j'avais 3 ça ne marque pas 2 mais -1.
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
En mettant des guillemets sur $paysAncien (du coté droit) tu rend une valeur qui n'est pas numérique, à laquelle tu ajoutes ou retires 1.
Essaies en les enlevant, ou en mettant des ` à la place si ça ne marche pas
Essaies en les enlevant, ou en mettant des ` à la place si ça ne marche pas
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
essaies sans, et si ça ne marche pas, ben je vois pas pour le moment
32 messages • Page 1 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Passage à l'heure d'été/hiver sur un forum phpBB
- Google Code Search : moteur de recherche de codes sources
- Google Update Jagger : étape 2 sur 3
- Historique des "Google Update"
- Des changements dans l'algorithme de Google ? (22 février 2007)
- Sortie d'un nouveau livre sur Google
- Article sur le fichier .htaccess
- La mise à jour du mois de juillet arrive...
- La Google Dance Gilligan n'en était pas une
- API Blogger : Google Data API
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum