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

  FORUM HardWare.fr
  Programmation
  PHP

  problème avec un update

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec un update

n°1895703
rafale6930​0
Posté le 16-06-2009 à 13:50:59  profilanswer
 

Bonjour tout le monde, j'ai un problème avec mon update au niveau du champ de la date de naissance,c'est une faute de simple et double quotte mais je ne les vois pas, je vous laisse mon update :  
 

Code :
  1. $sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code'])."',
  2.   civil_perso='".mysql_escape_string($_POST['civil'])."',
  3.             nom_perso='".mysql_escape_string($_POST['nom'])."',
  4.             prenom_perso='".mysql_escape_string($_POST['prenom'])."',
  5.   dateNaissance_perso = str_to_date'"('".$_POST['datenaiss']."',"%d-%m-%Y" )."',
  6.             adr_perso='".mysql_escape_string($_POST['adr'])."',
  7.             cp_perso='".mysql_escape_string($_POST['cp'])."',
  8.             ville_perso='".mysql_escape_string($_POST['ville'])."',
  9.             tel_perso='".mysql_escape_string($_POST['tel'])."',
  10.             port_perso='".mysql_escape_string($_POST['port'])."',
  11.             mail_perso='".mysql_escape_string($_POST['mail'])."',
  12.             id_service='".mysql_escape_string($_POST['service'])."',
  13.             id_cat='".mysql_escape_string($_POST['categorie'])."',
  14.             WHERE id_perso='".($_POST['choix'])."'";


Meric par avance pour votre aide.

mood
Publicité
Posté le 16-06-2009 à 13:50:59  profilanswer
 

n°1895708
NewsletTux
<Insérez ici votre vie />
Posté le 16-06-2009 à 13:58:52  profilanswer
 

hi,
 
au lieu de :
 
str_to_date'"('".$_POST['datenaiss']."',"%d-%m-%Y" )."',
 
essaie plutôt
'".str_to_date('".$_POST['datenaiss']."',"%d-%m-%Y" )."',


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1895709
rafale6930​0
Posté le 16-06-2009 à 14:00:29  profilanswer
 

J'ai essayé mais cela ne marche pas car str_to_date est considéré comme une fonction en php alors que str_to_date est une fonction sql.

n°1895710
macgawel
Posté le 16-06-2009 à 14:01:27  profilanswer
 

Editeur de texte à coloration syntaxique, ça te dis quelque chose ?
 
Sous Windows tu trouves - par exemple - Notepad++.
(Sous Linux, tous les éditeurs que j'ai testé le font  :D )
 
Avec ça, en 10 sec tu trouves l'erreur  :sol:  
 

n°1895716
rafale6930​0
Posté le 16-06-2009 à 14:11:51  profilanswer
 

oui bien sur que oui je connais, mais des fois la coloration syntaxique est juste mais cela ne marche toujours pas

n°1895727
macgawel
Posté le 16-06-2009 à 14:19:32  profilanswer
 

rafale69300 a écrit :

oui bien sur que oui je connais, mais des fois la coloration syntaxique est juste mais cela ne marche toujours pas


Des fois.
Ici :

Code :
  1. $sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code'])."',
  2.  civil_perso='".mysql_escape_string($_POST['civil'])."',
  3.            nom_perso='".mysql_escape_string($_POST['nom'])."',
  4.            prenom_perso='".mysql_escape_string($_POST['prenom'])."',
  5.  dateNaissance_perso = str_to_date'"('".$_POST['datenaiss']."',"%d-%m-%Y" )."',
  6.            adr_perso='".mysql_escape_string($_POST['adr'])."',
  7.            cp_perso='".mysql_escape_string($_POST['cp'])."',
  8.            ville_perso='".mysql_escape_string($_POST['ville'])."',
  9.            tel_perso='".mysql_escape_string($_POST['tel'])."',
  10.            port_perso='".mysql_escape_string($_POST['port'])."',
  11.            mail_perso='".mysql_escape_string($_POST['mail'])."',
  12.            id_service='".mysql_escape_string($_POST['service'])."',
  13.            id_cat='".mysql_escape_string($_POST['categorie'])."',
  14.            WHERE id_perso='".($_POST['choix'])."'";


(Utilisation de la balise code=php)
Je ne suis pas sûr que ce soit normal d'avoir ton $_POST dans la chaîne de caractère (ligne 5).
 
Accessoirement, moi aussi j'ai du mal avec les concaténations et les quotes
Du coup je décompose...

Code :
  1. $sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code']);
  2. $sql .= "',
  3.  civil_perso='".mysql_escape_string($_POST['civil']);

n°1895731
rafale6930​0
Posté le 16-06-2009 à 14:25:27  profilanswer
 

Je ne comprend pas ta décomposition

n°1895745
macgawel
Posté le 16-06-2009 à 14:38:32  profilanswer
 

Au lieu de tout mettre d'un coup dans la variable, à coup de  

Code :
  1. $mavar = "bla"."blah";


je procède par étape :

Code :
  1. $mavar = "bla";
  2. $mavar .= "bla";

C'est plus lisible, en cas d'erreur on la repère plus facilement, et je ne suis pas sûr que ça prenne beaucoup plus de temps à traiter.

n°1896349
deuspi
Posté le 17-06-2009 à 16:57:14  profilanswer
 

rafale69300 a écrit :

Bonjour tout le monde, j'ai un problème avec mon update au niveau du champ de la date de naissance,c'est une faute de simple et double quotte mais je ne les vois pas, je vous laisse mon update :  
 

Code :
  1. $sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code'])."',
  2.   civil_perso='".mysql_escape_string($_POST['civil'])."',
  3.             nom_perso='".mysql_escape_string($_POST['nom'])."',
  4.             prenom_perso='".mysql_escape_string($_POST['prenom'])."',
  5.   dateNaissance_perso = str_to_date'"('".$_POST['datenaiss']."',"%d-%m-%Y" )."',
  6.             adr_perso='".mysql_escape_string($_POST['adr'])."',
  7.             cp_perso='".mysql_escape_string($_POST['cp'])."',
  8.             ville_perso='".mysql_escape_string($_POST['ville'])."',
  9.             tel_perso='".mysql_escape_string($_POST['tel'])."',
  10.             port_perso='".mysql_escape_string($_POST['port'])."',
  11.             mail_perso='".mysql_escape_string($_POST['mail'])."',
  12.             id_service='".mysql_escape_string($_POST['service'])."',
  13.             id_cat='".mysql_escape_string($_POST['categorie'])."',
  14.             WHERE id_perso='".($_POST['choix'])."'";


Meric par avance pour votre aide.


Salut,
Essaye ça :

Code :
  1. $sql="UPDATE personnel SET code_perso='".mysql_escape_string($_POST['code'])."',
  2.             civil_perso='".mysql_escape_string($_POST['civil'])."',
  3.            nom_perso='".mysql_escape_string($_POST['nom'])."',
  4.            prenom_perso='".mysql_escape_string($_POST['prenom'])."',
  5.             dateNaissance_perso = str_to_date('".$_POST['datenaiss']."','%d-%m-%Y'),
  6.            adr_perso='".mysql_escape_string($_POST['adr'])."',
  7.            cp_perso='".mysql_escape_string($_POST['cp'])."',
  8.            ville_perso='".mysql_escape_string($_POST['ville'])."',
  9.            tel_perso='".mysql_escape_string($_POST['tel'])."',
  10.            port_perso='".mysql_escape_string($_POST['port'])."',
  11.            mail_perso='".mysql_escape_string($_POST['mail'])."',
  12.            id_service='".mysql_escape_string($_POST['service'])."',
  13.            id_cat='".mysql_escape_string($_POST['categorie'])."',
  14.            WHERE id_perso='".($_POST['choix'])."'";


La ligne avec le str_to_date a un problème de quotes.

n°1896399
Profil sup​primé
Posté le 17-06-2009 à 19:05:53  answer
 

J'ajouterais que $_POST['choix'] est directement utilisé dans ta requête, alors que mysql_real_escape_string est appliquée à tous les autres paramètres.


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

  problème avec un update

 

Sujets relatifs
probleme requete Sql sur update clef primaireproblème requête update
[Resolu][C#, ASP.net / access] problème requete updateProblème avec un update lié à un onclick
[SqlServer] Problème d'UPDATEProblème sur un UPDATE (T-SQL)
probleme de update - Mysql - Pas de misa a jourProblème avec un update en php/mysql
probleme avec insert into et update utilisés ensembleprobleme ON UPDATE CASCADE MYSQL
Plus de sujets relatifs à : problème avec un update


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