Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2664 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  UPDATE bon?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

UPDATE bon?

n°449217
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:01:51  profilanswer
 

désolé de poster 2 fois d'affilée (bien que j'ai effacé le précédent parce qu'il était inintéressant).

Code :
  1. UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$age', avatar='$avatar' WHERE id='$id'


 est ce que cette requete mysql est correcte?


Message édité par thwz le 05-07-2003 à 00:03:41
mood
Publicité
Posté le 05-07-2003 à 00:01:51  profilanswer
 

n°449226
mrbebert
Posté le 05-07-2003 à 00:05:08  profilanswer
 

Il se passe quoi si quelqu'un a un ' dans son nom ou celui de sa ville ? [:figti]  
 
Pour les entiers (id, age), inutile de les mettre entre ' '
 
Sinon, est-ce une bonne idée de stocker l'âge dans la base. Ce n'est pas une donnée "fixe" :/

n°449228
RiderCrazy
Posté le 05-07-2003 à 00:05:50  profilanswer
 

thwz a écrit :

désolé de poster 2 fois d'affilée (bien que j'ai effacé le précédent parce qu'il était inintéressant).

Code :
  1. UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$age', avatar='$avatar' WHERE id='$id'


 est ce que cette requete mysql est correcte?

:jap: mais le meilleur moyen de le savoir est de l'essayer non ?
 
Edit: [:benou_grilled] Les bonnes remarques de MrBebert en plus :jap:


Message édité par RiderCrazy le 05-07-2003 à 00:07:12
n°449236
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:07:39  profilanswer
 

mrBebert a écrit :

Il se passe quoi si quelqu'un a un ' dans son nom ou celui de sa ville ?  


la je te suis pas :??:  
 
l'age correspond en fait au timestamp unix de la date de naissance...

n°449240
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:08:57  profilanswer
 

ben je lai essayée... mais je veux cibler le probleme, savoir si c'est la requete ou le code php qui comporte une erreur. et comme c'est la 1ère fois que j'utilise UPDATE...

n°449242
mrbebert
Posté le 05-07-2003 à 00:10:40  profilanswer
 

C'est un problème de caractères spéciaux. Regarde ce que donne la requête si quelqu'un met un password avec le caractère '


Message édité par mrbebert le 05-07-2003 à 00:11:22
n°449244
RiderCrazy
Posté le 05-07-2003 à 00:11:34  profilanswer
 

benh je pense que c'est ton code qui bug... on l'a vu (du moins je l'ai vu) et à mon avis, il doit te manquer une accolade. Met le au clair (tabulations, retour à la ligne, etc...) et balance le [:spamafote]. Car si c'était un erreur sur l'update, tu aurais une erreur sql.

n°449251
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:20:24  profilanswer
 

mais non y a pas d'erreur... celle qu'il y avait a été résolu par toi, RiderCrazy...
le seul truc c'est que l'update ne se fait pas!

n°449253
RiderCrazy
Posté le 05-07-2003 à 00:23:41  profilanswer
 

euh... tu met bein ton update dans un mysql_query(), pas direct comme ça??

n°449259
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:26:54  profilanswer
 

Code :
  1. <?
  2. $email = strtolower(strip_tags($email));
  3. $msn = strtolower(strip_tags($msn));
  4. $pseudo = strip_tags($pseudo);
  5. $description = strip_tags(htmlspecialchars($description));
  6. $description = nl2br($description);
  7. $pays = strip_tags($pays);
  8. $ville = strip_tags($ville);
  9. $date = time();
  10. $naissance = mktime(0,0,0,$nmois,$njour,$nans);
  11. $pageperso = "http://".$pageperso;
  12. // préparation de l'url de l'avatar
  13. if($typeavatar == externe)
  14. {
  15. $avatar = "http://".$avatarexterne;
  16. };
  17. if($typeavatar == interne)
  18. {
  19. $avatar = $avatarinterne;
  20. };
  21. require("connexion.php" );
  22. // update ou insert?
  23. if(isset($updateid))
  24. {
  25. mysql_query("UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$naissance', avatar='$avatar' WHERE id='$id'",$db);
  26. }
  27. else
  28. {
  29. // vérification de l'inexistence du pseudo
  30. $membre = mysql_query("SELECT * FROM membres WHERE id='$updateid'",$db);
  31. $infos = mysql_fetch_array($membre);
  32. if($infos)
  33.  {
  34.  header("Location: index.php?page=sinscrire&erreur=pseudo" );
  35.  }
  36. else
  37.  {
  38. // inscription dans la base mysql
  39. mysql_query("INSERT INTO `membres` (`id`, `pseudo`, `password`, `email`, `msn`, `icq`, `pageperso`, `lieuville`, `lieupays`, `description`, `dateinscription`, `age`, `avatar`, `participation`) VALUES ('', '$pseudo', '$password', '$email', '$msn', '$icq', '$pageperso', '$ville', '$pays', '$description', '$date', '$naissance', '$avatar','')",$db);
  40.  };
  41. };
  42. mysql_close($db);
  43. header("Location: index.php" );
  44. ?>


l'update est dedans mais maintenant je pense qu'elle n'y est pour rien...
l'url de ma page ressemble à ça: inscription.php?updateid=4
id=4 est une ligne qui existe dans ma table mysql, mais ces informations sont fausses, et je voudrais les mettres a jour.


Message édité par thwz le 05-07-2003 à 00:32:45
mood
Publicité
Posté le 05-07-2003 à 00:26:54  profilanswer
 

n°449262
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:28:02  profilanswer
 

lol je sais que je suis nul mais à ce point la... :p

n°449268
mrbebert
Posté le 05-07-2003 à 00:34:54  profilanswer
 

Dans la requête, il faudrait plutot utilise $updateid au lieu de $id :??:

n°449269
RiderCrazy
Posté le 05-07-2003 à 00:36:15  profilanswer
 

Code :
  1. if(isset($_GET['updateid']))
  2. {
  3. mysql_query("UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$naissance', avatar='$avatar' WHERE id='$updateid'",$db);
  4. }


 

Code :
  1. if($infos)

:??: elle est où la conditions là ??


Message édité par RiderCrazy le 05-07-2003 à 00:38:09
n°449271
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:41:37  profilanswer
 

j'allais pas mettre if(!!$infos) ?
si $info est un tableau, c comme si il était TRUE non?

n°449273
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 00:43:57  profilanswer
 

RiderCrazy a écrit :

Code :
  1. if(isset($_GET['updateid']))
  2. {
  3. mysql_query("UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$naissance', avatar='$avatar' WHERE id='$updateid'",$db);
  4. }




ça ne change rien...

n°449378
RiderCrazy
Posté le 05-07-2003 à 12:10:25  profilanswer
 

Euh, je suis pas un rpo, met je crois que les ';' sont inutiles à la fin des if et if..else. sinon, apès ton update, rajoute

Code :
  1. or die(mysl_error())

Comme ça, si ça vient de ta requêtes sql, tu le sauras...

n°449385
ratibus
Posté le 05-07-2003 à 12:24:17  profilanswer
 

essaie ça :
 

Code :
  1. $query="UPDATE membres SET password='$password', email='$email', msn='$msn', icq='$icq', pageperso='$pageperso', lieuville='$ville', lieupays='$pays', description='$description', age='$naissance', avatar='$avatar' WHERE id='$updateid'";
  2. echo $query;


 
tu verras si la requete contient réellement ce que tu veux  :)

n°449413
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 15:12:45  profilanswer
 

up
trop bien j'ai trouvé l'erreur!
je vous mets la soluce pkoi tt de suite

n°449421
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 15:33:40  profilanswer
 

ah ben non ca marche tjrs pas...
j'ai recorrigé le code: regardez:

Code :
  1. <?
  2. $email = strtolower(strip_tags($email));
  3. $msn = strtolower(strip_tags($msn));
  4. $pseudo = strip_tags($pseudo);
  5. $description = strip_tags(htmlspecialchars($description));
  6. $description = nl2br($description);
  7. $pays = strip_tags($pays);
  8. $ville = strip_tags($ville);
  9. $date = time();
  10. $naissance = mktime(0,0,0,$nmois,$njour,$nans);
  11. $pageperso = "http://".$pageperso;
  12. // préparation de l'url de l'avatar
  13. if($typeavatar == externe)
  14. {
  15. $avatar = "http://".$avatarexterne;
  16. };
  17. if($typeavatar == interne)
  18. {
  19. $avatar = $avatarinterne;
  20. };
  21. require("connexion.php" );
  22. // update ou insert?
  23. if(isset($_GET['updateid']))
  24. {
  25. $query = "UPDATE membres SET password='$password', email='$email', msn=`$msn`, icq=`$icq`, pageperso=`$pageperso`, lieuville=`$ville`, lieupays=`$pays`, description=`$description`, age=`$naissance`, avatar=`$avatar` WHERE id=`".$_GET['updateid']."`";
  26. }
  27. else
  28. {
  29. // vérification de l'inexistence du pseudo
  30. $membre = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'",$db);
  31. $infos = mysql_fetch_array($membre);
  32. if($infos)
  33.  {
  34.  header("Location: index.php?page=sinscrire&erreur=pseudo" );
  35.  }
  36. else
  37.  {
  38. // inscription dans la base mysql
  39. $query = "INSERT INTO `membres` (`id`, `pseudo`, `password`, `email`, `msn`, `icq`, `pageperso`, `lieuville`, `lieupays`, `description`, `dateinscription`, `age`, `avatar`, `participation`) VALUES (``, `$pseudo`, `$password`, `$email`, `$msn`, `$icq`, `$pageperso`, `$ville`, `$pays`, `$description`, `$date`, `$naissance`, `$avatar`,``)";
  40.  };
  41. };
  42. echo $query;
  43. //mysql_query($query,$db);
  44. //mysql_close($db);
  45. //header("Location: index.php" );
  46. ?>


mais ca marche pas. voici ce qu'il m'affcihe pour une url comme ça:
inscription.php?updateid=7
et voila la requete:

Code :
  1. UPDATE membres SET password='motdepasse', email='monmai@mail.com', msn=`moi@msn.com`, icq=`123456789`, pageperso=`http://pageperso.com/moi`, lieuville=`Mos espa`, lieupays=`Coruscant`, description=`je suis un jedi nananaère`, age=`629679600`, avatar=`http://www.images.com/moi.gif` WHERE id=`7`

n°449423
ratibus
Posté le 05-07-2003 à 15:43:50  profilanswer
 

si tu as phpmyadmin (je suppose que c une base mysql)
essaie d'exécuter la requete "à la main", tu auras des infos plus précises sur pourkoi ça marche pas ton update
 
si faut faire avec le client mysql et taper la requete à la main

n°449427
thwz
quoi mon pseudo imprononçable?
Posté le 05-07-2003 à 15:59:18  profilanswer
 

suis-je bete!! :pt1cable:  vous m'aviez donné la réponse! :cry:  elle était la sous mes yeux, mais je ne l'avais pas prise en compte... :sweat:  je suis désolé! le probleme était en fait que javais mis dans la clause WHERE id='7' alors qu'il aurait fallu mettre id=7  :)  
comme l'avait dit m.bebert :jap:  

Citation :

Pour les entiers (id, age), inutile de les mettre entre ' '  


 
je suis encore désolé d'avoir fait durer ce probleme... :whistle:  
et merci à tous!!!! :jap:  :jap:  :hello:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  UPDATE bon?

 

Sujets relatifs
[access et vba] method before upadte et cancel de l'updateA propos de la progra d'un forum [UPDATE]
[asp]Probleme d'update d'1 champs d'1 ligne dans une table![MySQL (PHP)] empêcher un NOW sur un champ quand on update un enregist
[ASP]Probléme de lecture seul pendant un update de base de données[SGBD] SQL Server : update d'1 ligne avec COMPTEUR en auto increment
[asp]Probleme d'update d'une table !!helpFaire ingurgiter une grosse quantitée a Mysql en Insert ou Update.
utilisation d'un select dans le set d'un UPDATE[ Python ] Problème héritage # 4 (- update- )
Plus de sujets relatifs à : UPDATE bon?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR