simplifier une requete

Mammouth du PHP | 536 Messages

30 mai 2006, 13:35

Bonjour tout le monde, j'aurais voulu savoir ce qui ne colle pas dans cette requete, pouvez vous m'aider.

Code : Tout sélectionner

UPDATE etudiant SET adresse_etudiant='$adresse_etudiant' AND email_etudiant='$email_etudiant' AND tel_etudiant='$tel_etudiant' AND password_etudiant='$password_etudiant' WHERE nom_etudiant='$nom_etudiant' AND prenom_etudiant='$prenom_etudiant'"
Merci
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Mammouth du PHP | 1353 Messages

30 mai 2006, 13:36

Il manque les . pour différencier les variables du texte :)
"UPDATE etudiant 
SET adresse_etudiant='".$adresse_etudiant."' 
AND email_etudiant='".$email_etudiant."' 
AND tel_etudiant='".$tel_etudiant."' 
AND password_etudiant='".$password_etudiant."' 
WHERE nom_etudiant='".$nom_etudiant."' 
AND prenom_etudiant='".$prenom_etudiant."'"
Modifié en dernier par guilt92 le 30 mai 2006, 13:38, modifié 1 fois.

Mammouth du PHP | 536 Messages

30 mai 2006, 13:38

pourtant en utilisnt la meme methode j'arrive a faire des insert
Je ne vois pasou il faudrait mettre les points.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Mammouth du PHP | 1353 Messages

30 mai 2006, 13:39

Il manque les . pour différencier les variables du texte :)
"UPDATE etudiant 
SET adresse_etudiant='".$adresse_etudiant."' 
AND email_etudiant='".$email_etudiant."' 
AND tel_etudiant='".$tel_etudiant."' 
AND password_etudiant='".$password_etudiant."' 
WHERE nom_etudiant='".$nom_etudiant."' 
AND prenom_etudiant='".$prenom_etudiant."'"
J'étais en train d'éditer mon post précédent :s désolé.

Les . servent à concaténer les chaines de caractère. Par exemple la chaine echo "bonjour "."Monsieur"; donnera "Bonjour Monsieur". De la meme facons si tu ne veux pas que tes variables soient considérées comme du texte il faut les concaténer à la chaine mais en gardant les ' ' autour puisque tu compares des chaines de caractère. Tu peux aussi utiliser le LIKE à la place du = pour comparer des chaines, cela te permet de faire des chaines moins rigoureuses.

Mammouth du PHP | 536 Messages

30 mai 2006, 13:47

j'ai essayer avec ta méthode, et il n'y a pas de changement, la mise à jour d'une ligne dans lla table ne change toujours pas.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Mammouth du PHP | 1353 Messages

30 mai 2006, 13:51

"UPDATE etudiant 
SET adresse_etudiant='".$adresse_etudiant."' 
, email_etudiant='".$email_etudiant."' 
, tel_etudiant='".$tel_etudiant."' 
, password_etudiant='".$password_etudiant."' 
WHERE nom_etudiant='".$nom_etudiant."' 
AND prenom_etudiant='".$prenom_etudiant."'"
Je ne crois pas que l'on puisse mettre un AND entre les attributs à changer dans une requête UPDATE, ce sont des virgules qu'il faut utiliser je crois.

Mammouth du PHP | 536 Messages

30 mai 2006, 14:05

effectivement, il s'agissait bien de cela. Il ne faut pas emttre de AND mais des virgules. Très bien je te remercie.
probleme résolu
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2006, 14:06

probleme résolu
Puisque tu es enregistré, tu peut le tagger tout seul.

En haut à gauche du sujet, tu doit avoir un bouton [RESOLU] qui te permet de tagger le sujet ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer