IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème d'ajout de nouvel enregistrement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Problème d'ajout de nouvel enregistrement
    Bonsoir,

    Comme dit dans le titre du topic, j'ai un problème concernant l'ajout d'un enregistrement dans ma base de donnée.
    J'ai crée un formulaire. Quand l'utilisateur valide ce formulaire il est redirigé sur cette page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
       include 'connection.php';
     
       if (empty($_REQUEST['Nom']) || empty($_REQUEST['Civilite']) || empty($_REQUEST['Adresse']) || empty($_REQUEST['Cp']) || empty($_REQUEST['Ville']) || empty($_REQUEST['Telephone']))
       {
       header("Refresh: 2; url=personne_enregistre.php");
       die("Erreur : tous les champs obligatoires doivent être remplis.");
       }
     
     
    $sql=mysql_query("INSERT INTO personne (Civilite, Nom, Adresse, Suitead, Cp, Ville, Telephone, Fax, Portable, Email, Correspondant) VALUES ('".$_REQUEST['Civilite']."', '".$_REQUEST['Nom']."', '".$_REQUEST['Adresse']."', '".$_REQUEST['SuiteAd']."', '".$_REQUEST['Cp']."', '".$_REQUEST['Ville']."', '".$_REQUEST['Telephone']."', '".$_REQUEST['Fax']."', '".$_REQUEST['Portable']."', '".$_REQUEST['Email']."', '".$_REQUEST['Correspondant']."')");
     
     
    if ($sql!=false){
    	print("Le client <".$_REQUEST['Nom']."> a bien été enregistré...");	
    	header("Refresh: 2; url=personne_enregistre.php");}
     
    else {
    	print ("Echec lors de la création du nouveau client...");
    	header("Refresh: 2; url=personne_enregistre.php");}
     
    	?>

    En faite la vérification avec empty fonctionne bien je pense, c'est au niveau de la requête que ça bloque. Le même message s'affiche à chaque fois :
    Echec lors de la création du nouveau client...
    Pensez vous que le problème vienne de mon code où plutôt de ma base de données ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    ajoute un or die avec retour d'erreur pour voir si c'est la resuet qui plante ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query("INSERT INTO personne (Civilite, Nom, Adresse, Suitead, Cp, Ville, Telephone, Fax, Portable, Email, Correspondant) VALUES ('".$_REQUEST['Civilite']."', '".$_REQUEST['Nom']."', '".$_REQUEST['Adresse']."', '".$_REQUEST['SuiteAd']."', '".$_REQUEST['Cp']."', '".$_REQUEST['Ville']."', '".$_REQUEST['Telephone']."', '".$_REQUEST['Fax']."', '".$_REQUEST['Portable']."', '".$_REQUEST['Email']."', '".$_REQUEST['Correspondant']."')") or die (mysql_error());
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Voici le message d'erreur qui s'affiche : Cannot add or update a child row: a foreign key constraint fails (`gestc/personne`, CONSTRAINT `personne_ibfk_1` FOREIGN KEY (`Code`) REFERENCES `personne` (`Code`))

    En faite dans la table personne, j'ai une clé primaire auto-incrémentée nommée Code.
    J'ai modifié mon code en rajoutant donc le champ Code, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query("INSERT INTO personne (Code, Civilite, Nom, Adresse, Suitead, Cp, Ville, Telephone, Fax, Portable, Email, Correspondant) VALUES ('""', '".$_REQUEST['Civilite']."', '".$_REQUEST['Nom']."', '".$_REQUEST['Adresse']."', '".$_REQUEST['SuiteAd']."', '".$_REQUEST['Cp']."', '".$_REQUEST['Ville']."', '".$_REQUEST['Telephone']."', '".$_REQUEST['Fax']."', '".$_REQUEST['Portable']."', '".$_REQUEST['Email']."', '".$_REQUEST['Correspondant']."')") or die (mysql_error());
    Et maintenant j'ai l'erreur suivante :

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\Gestionappels-dups\personne_enregistre2.php on line 20


    Je vois bien que ma syntaxe n'est pas bonne mais j'ai tout essayé...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      VALUES ('', '".$_REQUEST['Civilite']."'
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    sqlstring="INSERT INTO personne (Code, 
    							Civilite,
    							Nom,
    							Adresse, 
    							Suitead, 
    							Cp, 
    							Ville, 
    							Telephone, 
    							Fax, 
    							Portable, 
    							Email, 
    							Correspondant) 
    				  VALUES ('', '".$_REQUEST['Civilite']."', '".$_REQUEST['Nom']."', '".$_REQUEST['Adresse']."', '".$_REQUEST['SuiteAd']."', '".$_REQUEST['Cp']."', '".$_REQUEST['Ville']."', '".$_REQUEST['Telephone']."', '".$_REQUEST['Fax']."', '".$_REQUEST['Portable']);
     
    $sql=mysql_query(sqlstring);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Merci beaucoup Frog pour ce problème résolu mais j'en ais un autre maintenant :

    Cannot add or update a child row: a foreign key constraint fails (`gestc/personne`, CONSTRAINT `personne_ibfk_1` FOREIGN KEY (`Code`) REFERENCES `personne` (`Code`))


  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Tu peux décrire l'intégralité des index créé pour ta table?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    C'est bon, le problème est résolu, c'était juste un problème de gestion des relations dans ma BDD.
    Merci encore frog.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] requête : je ne peux pas ajouter de nouvel enregistrement
    Par tibofo dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/10/2016, 16h15
  2. [WD17] Ajouter un nouvel enregistrement
    Par marwenkb dans le forum WinDev
    Réponses: 6
    Dernier message: 26/11/2012, 12h51
  3. [AC-97] Ajouter un nouvel enregistrement en prennant en compte un filtre
    Par Milyshyn76 dans le forum IHM
    Réponses: 2
    Dernier message: 10/02/2011, 15h40
  4. [MySQL] ajouter un nouvel enregistrement
    Par info_sara dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/05/2008, 08h35
  5. problème : Ajouter un nouvel enregistrement
    Par rob2-9 dans le forum Access
    Réponses: 2
    Dernier message: 10/08/2006, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo