Page 1 sur 1
Problème INSERT INTO avec WHERE
Posté : 18 mai 2006, 16:42
par $Franky$tarr$
Salut
j'ai un soucis avec ça,ça m'indique une erreur alors que la synthaxe me paraît bonne...
Code : Tout sélectionner
$requetefac = "INSERT INTO `facture`
VALUES('$num_fac_bis','$date_der_visite','nonpaye','$vrai_total','','$id_membre') WHERE (`num_fac`!='$num_fac_bis')";
l'erreur vient de la clause where ....Mais je sais pas quoi !!!!
Posté : 18 mai 2006, 16:46
par zeus
INSERT INTO sert à insérer un nouvel enregistrement ... pourquoi veut tu mettre un WHERE ?
Posté : 18 mai 2006, 16:52
par $Franky$tarr$
Je suis entrain de faire un site de vente en ligne.
Quand j'ai fini d'acheter dans le panier , je vais voir la facture.Pas de soucis,mais si la personne veut revenir panier et rajouter une produit,ce message apparait sous la facture
Code : Tout sélectionner
Impossible de sélectionner:
Duplicata du champ '1211479618311147962266' pour la clef 1
Cela vient du fait que dans la table facture,ma clé primaire n'est pas autoincremnté ... mais là n'est pas le problème ....
Posté : 18 mai 2006, 16:57
par zeus
Euh bah si
Si ta clé primaire n'est pas auto-incrémentée, il faut que tu récupère la clé primaire la plus grande que contient ta table et que tu l'incrémente via PHP pour la placer dans $num_fac_bis
Mais je me répete, il n'est pas possible d'utiliser une clause WHERE dans un INSERT. C'est illogique puisque tu ne peut pas sélectionner dans une ligne que tu vas insérer
EDIT :
Si tu veux modifier des choses dans un enregistrement existant, c'est UPDATE, pas INSERT
Posté : 18 mai 2006, 17:03
par albat
Il n'y a pas de clause WHERE dans une requête d'insertion.
Posté : 18 mai 2006, 17:08
par $Franky$tarr$
bon j'ai crée un clef primaire avec autoincrémentation...
Mais si je réactualise ma page,ça m'insère les données le nombre de fois que j'actualise ma page.
Tu sais pas comment je pourrais faire pour supprimer les enregistrements antérieurs?
Posté : 18 mai 2006, 17:15
par albat
J'ai l'impression que, comme te l'as suggéré Zeus,
c'est plutôt d'un UPDATE que tu as besoin.
Posté : 18 mai 2006, 17:18
par $Franky$tarr$
Je veux bien faire un update mais si à la base ya rien dans la BDD, c'est pour cela que je fais avec un INSERT
Posté : 18 mai 2006, 17:50
par albat
Eh ben, s'il n'y a rien dans ta BDD,
pourquoi veux-tu ajouter un WHERE à ton INSERT ???

Posté : 18 mai 2006, 17:56
par $Franky$tarr$
lol
nan c'est bon.
je fais un isset de ma variable et si elle existe je fais un update sinon je fais un insert