erreur 1064

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur 1064

par Rei Itchido » 19 sept. 2006, 16:23

1°/ echapper une variable signifie proteger les caractère dangereux, pas sortir la variable d'une chaine dont le nom est extraire
Eu vi concatener pas echapper :oops:

par zeus » 19 sept. 2006, 15:01

1°/ echapper une variable signifie proteger les caractère dangereux, pas sortir la variable d'une chaine dont le nom est extraire

2°/ extraire une chaine permet de ne jamais être tenté d'écrire une varaible dans une chaine entouré de '
$toto = "bonjour";
echo "$toto"; //affiche bonjour
echo '$toto'; //affiche $toto
Et tu peut me croire, même si tu as l'habitude de mettre des ", il va forcément y avoir un jour où tu va avoir besoin d'utiliser ' ;)

par lacfab » 19 sept. 2006, 13:55

Mille merci je sais pas pourquoi j'ai mis le where avant le set mais bon maintenant ça remarche !
Je savais pas qu'il était important de ressortir les variables ... je le fais quelque fois et parfois non ... ça joue sur quoi ?

par Rei Itchido » 19 sept. 2006, 13:50

Le SET= doit être avant le WHERE

Echapper c'est à dire sortir les variables de la chaîne.

Ici :
WHERE id_sess='".$id_de_session."'

par lacfab » 19 sept. 2006, 13:47

si je l'ai mis

Code : Tout sélectionner

SET quantite_sess='$testaff[quantite_sess]'
Echapper mes variables ?? comment ça ?

par Rei Itchido » 19 sept. 2006, 13:34

Tu n'as pas précisé quel champs de la table tu veux mettre à jour.
La syntaxe correcte est : UPDATE table SET champs='nouvelle valeur' WHERE conditions

De plus tu devrais echapper tes variables ;)

par lacfab » 19 sept. 2006, 13:30

Voici ma table :

CREATE TABLE `shop_sessions` (
`id_sess` char(32) NOT NULL default '',
`expiration_sess` int(11) NOT NULL default '0',
`produit_sess` char(25) NOT NULL default '',
`quantite_sess` int(2) NOT NULL default '0'
) TYPE=MyISAM;

INSERT INTO `shop_sessions` VALUES ('0d5a371160883e16cd1a865f2dafe53e', 1158681214, '3', 1);

erreur 1064

par lacfab » 19 sept. 2006, 13:30

Salut voilà j'ai une fonction qui doit ajouter 1 à une valeur si celle-ci existe déjà ... seulement il me fait une erreur ... je ne vois pas du tout d'où celà vient !

Code : Tout sélectionner

$testaff[quantite_sess]++; echo $testaff[quantite_sess]; mysql_query("UPDATE shop_sessions WHERE id_sess='$id_de_session' AND produit_sess=$article SET quantite_sess='$testaff[quantite_sess]'") or die ('<br><br>ERREUR update panier A<br>'. mysql_error());
Résultat :
ERREUR update panier A
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 'WHERE id_sess='0d5a371160883e16cd1a865f2dafe53e' AND produit_se

Merci d'avance :)