Problème UPDATE

Absot Messages postés 819 Statut Membre -  
Absot Messages postés 819 Statut Membre -
Slt, je voudrais une requête UPDATE pour une de mes table mais elle ne fonctionne pas, j'ai beau changer certaines valeurs, quand je les réaffiches après, ce sont toujours les mêmes..

Voici ma requête:

$query = "UPDATE Processeur SET nom = '.$nom.', 
                                               categorie = '.$categorie.', 
					       constructeur = '.$constructeur.', 
					       socket = '.$socket.', 
					       coeur = '.$coeur.', 
					       photo = '.$photo.', 
					       prixTTC = '.$prixTTC.' 
		WHERE nom = '.$nom.'";


$result = mysql_query($query) or die("Première requête échouée");


Ce n'est pas bon si je traduis la requête "Mets à jour la table Processeur en modifiant le nom par $nom, le constructeur par $constructeur..... ou le nom = $nom?

Parce que c'est la table Processeur mais peut y avoir plusieurs processeur..
A voir également:

34 réponses

garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
pourquoi tu met en condition nom='".$nom."'; sachant que le $nom peut ne pas éxister dans la base ?
0
biboo
 
+1, ta condition n'est pas bonne.
0
garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
pour des composant de pc, généralement ils ont un numéro unique, tu peu utiliser ce numéro comme clé primaire ET comme condition
0
Absot Messages postés 819 Statut Membre 44
 
En y repensant, si la personne modifie le nom et que je mets comme condition WHERE nom = $nom (nom modifié), ça ne va pas fonctionner..

J'ai mis un id à chaque composant et je vais essayer en mettant comme condition WHERE id = $id..
0
biboo
 
C'est exactement ce que les deux posts avant le tien te disent. :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Absot Messages postés 819 Statut Membre 44
 
Je test avec l'id demain et je vous tiens au courant ;)
0
Absot Messages postés 819 Statut Membre 44
 
Je me suis mal débrouiller avec mes tables SQL..

Parce que j'ai une table produit où sont référencés tout les produits et une table par catégorie genre Processeur, Carte graphique, Disque dur, ..

Donc quand ont fais une mise à jour d'un produit, il faut la faire également dans l'autre table.

Dans la table Produit, ils ont tous les mêmes noms de champs ( idProduit, nom, categorie, constructeur, reference, photo, prixTTC ) mais après dans la table respectif comme Processeur où il y a tout ce qu'il y a dans la table Produit plus les caractéristiques d'un processeur comme le nombre de coeur, le socket, ...

Tout ça pour dire que je me suis embrouillé j'ai l'impression xD

Je vais devoir changer certain trucs mais le mieux est faire des jointures ou de faire en sorte d'avoir qu'un seul id par produit genre l'id 1 appartient à un processeur qui est dans la table Produit donc avec l'id 1 et dans la table Proceseur avec l'id 1?

J'espère que vous avez compris.. ^^
0
garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
j'ai pas compris ^^
mais tu peu avoir une table par type de composant (socket, carte graphique etc...) et une table pour le pc (et pour les commandes de pc) avec l'id de chaque composant dans une colonne (genre le pc X a comme socket le numéro 10, comme carte graphique le numéro 3 etc...)

tu vois où je veux en venir ?
0
moderno31 Messages postés 900 Statut Membre 92
 
hello,
vous avez trouvé la réponse ou pas?
absot, et toi ?
sinon dit moi où tu en es avec ce script
0
Absot Messages postés 819 Statut Membre 44
 
J'ai une table Produit et une table pour chaque composant.

Dans la table produit, on retrouve chaque composant, par exemple, si j'ai 1 composant dans Processeur et un composant dans carte_graphique, alors j'en aurait deux dans Produit..

Sinon, j'ai du changer de pc et donc j'ai tout copier/coller et je n'arrive pas à me connecter à ma BDD, j'ai une erreur mysql_connect alors que celle-ci avec le même code fonctionnait sur l'autre pc..

J'ai pensé à une autre version d'easyphp mais bon j'étais sur l'autre pc depuis une semaine à peine..

Je vous montre mon code:
$connexion = mysql_connect("localhost","root","mysql") or die(mysql_error());


Et j'ai le message d'erreur:
Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in c:\program files\easyphp1-8\www\site\traitement.php on line 48

Et la ligne 48 est mon morceau de code juste au desus.
0
moderno31 Messages postés 900 Statut Membre 92
 
Hello,
En général par défaut il n'y a pas de mot de passe quand on est en local avec localhost et root comme user.
Met lui le mot de passe comme "" ou ''.
Pour ma part j'utilise WAMP server 5 je n'ai jamais réussi à utiliser easy php correctement.
0
Absot Messages postés 819 Statut Membre 44
 
J'ai également essayer avec "" mais il ne me met pas une phrase qui apparait lorsque tout ceci se fait correctement donc j'en conclus qu'il y a une erreur quelque part..

Avec les "", je n'ai aucun message sur ma page..

Bizarre qu'en changeant de pc, j'arrive pas à me connecter.. :/

Je n'ai toujours uniquement utilisé que easyphp vu qu'on l'utilise en cours..
0
moderno31 Messages postés 900 Statut Membre 92
 
je regarde ça plus tard excuse moi je dois filer
0
Absot Messages postés 819 Statut Membre 44
 
Ok merci quand même
0
Absot Messages postés 819 Statut Membre 44
 
J'ai trouvé d'où venait mon problème, ça venait d'une variable qui ne s'affichait plus pareil, après rectification, ça refonctionne :)

Je me repenche sur mon principal problème et je vous dit ce qu'il en est..
0