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 :

You have an error in your SQL syntax


Sujet :

PHP & Base de données

  1. #21
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    tu voudrais pas faire un export de la structure de ta base en SQL

    car la,le message d'erreur signifie qu'une valeur de clé étrangère pose soucis dans la table de référence.

  2. #22
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    la création de mes clé étrangère suffirai ? ou il te faut tout?

  3. #23
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    voici le code de création de mes clés étrangères:
    https://mega.co.nz/#!QppyHR5L!Dd4uKw...BnBU4DAS6VxHBc

    (ps: croyez moi si ça ne tenais qu'a moi je retirais cette codification qui pose problème et ça ne serai qu'un simple champ qui serais remplis via une liste avec des choix que je défini sans avoir besoin d'aller chercher des civilité dans une table de la bdd ce qui semble moins contraignant )

  4. #24
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    Bonjour,
    j'viens de jeter un œil, mais là, t'as mis juste la création des clés étrangères , c'est vrais de toutes tes tables ...

    je crois que juste la structure de ta table personne et celle de codification ( du moins je crois ..) aiderais a comprendre.

    Voir des trucs genre si tes table sont de type InnoDB, si la structures des champs est identique ...

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58

  6. #26
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ho les gars, on arrête de tourner en rond et on règle un problème à la fois.

    Bon alors pour commencer on utilise plus le drivers MySQL qui n'eszt plus maintenu depuis 2004 (ça fait loin je sais), on lui préféreras MySQLi (remarquez le 'i').
    Même si j'aurais une préférence pour PDO (mieux et plus Bo, ben oui autant apprendre correctement).

    Bon alors tout ce joue ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $code_etab="SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'";
    	$code_civ="SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$civilite."'";
    	$code_statut="SELECT CODE FROM CODIFICATION WHERE LIBELLE='enploye'";
    	$code_groupe="SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$groupe."'";

    Dans un post tu signales que cela renvoi les requêtes au lieu des résultats, je te cite :

    Citation Envoyé par kevdanone
    au vue de ce que cela affiche mon erreur proviens des variables $code_etab, $code_civ,$code_statut et $code_groupe qui envoi les requêtes au lieu des résultats.
    Donc tes requêtes ne sont pas exécuter, ensuite il me semble que tu t'en rend compte.

    Citation Envoyé par kevdanone
    je viens d'essayer avec des mysql_query sur les requete concerner et maintenant ca me retourne un #id :
    Ton souci est ici, le #id est une resosurce MySQL, qui te dit je t'ai retourné quelques chose, mais tu ne m'as pas traité, il manque un while dans tes requêtes.

    Donc commence doucement :

    Reprend la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $code_etab="SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'";
    et traite là jusqu'a tu obtiens ton résulat, ensuite tu pourras mettre ton résultats dans ta grosse requête.

    En espérant avoir été clair.

    MaitrePylos

  7. #27
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    donc je dois repartir sur la piste du mysql_query ? mais je ne pige pas pour le while ? pourquoi dois je faire une boucle pour récupérer mon résultat?

  8. #28
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et comment lis tu ton résultat d'habitude ?

  9. #29
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    au risque de me faire taper sur les doigt j'ai fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $req1=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'");
    $code_etab=mysql_fetch_array($req1);
    $req2=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='employe'");
    $code_statut=mysql_fetch_array($req2);
    $req3=mysql_query("SELECT NATURE FROM CODIFICATION WHERE CODE='".$code_groupe."'");
    $groupe=mysql_fetch_array($req3);

  10. #30
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    après avoir réfléchie un peu sur ce qu'il y avait en amont dans mon code qui affiche la liste je me suis rendu compte de l'erreur que j'avais faite sur le value des liste déroulante pour je ne sais quelle raison j'avais mis en value la même chose que j'affichais au lieu du CODE qui se rapportait a ce qui était afficher (et qui était mon LIBELLE)

    merci MaitrePylos pour la prise de conscience ^^

  11. #31
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Citation Envoyé par kevdanone Voir le message
    au risque de me faire taper sur les doigt j'ai fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $req1=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'");
    $code_etab=mysql_fetch_array($req1);
    $req2=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='employe'");
    $code_statut=mysql_fetch_array($req2);
    $req3=mysql_query("SELECT NATURE FROM CODIFICATION WHERE CODE='".$code_groupe."'");
    $groupe=mysql_fetch_array($req3);
    Incorecte.

    Voici comment faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $req1=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'");
    while ($row = mysql_fetch_array($req1, MYSQL_ASSOC)) {
      var_dump($row);
    }

  12. #32
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    meci je corrige. Donc ce que j'ai mis juste avant que tu corrige n'est pas correct mais fonctionne :s

  13. #33
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Incorecte.

    Voici comment faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $req1=mysql_query("SELECT CODE FROM CODIFICATION WHERE LIBELLE='".$etablissement."'");
    while ($row = mysql_fetch_array($req1, MYSQL_ASSOC)) {
      var_dump($row);
    }
    la ligne
    me crée une erreur

  14. #34
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ha oui et c'est quoi l'erreur ?

  15. #35
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    Fatal error: Call to undefined function var_dum() in C:\Program Files\wamp2\www\intranet_onefit\ajout_personne.php on line 38

  16. #36
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    dsl faute de ma part j'ai oublier le "p"

  17. #37
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Grillé

    tu ne trouves pas qu'il y a une inadéquation entre ce que l'erreur te dit et ce que tu dois écrire.

    Lis bien, tu vas trouver

  18. #38
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    oui oui j'ai vue mon erreur mais malgré tout ça me retourne de nouveau un id#.. et une erreur avec ^^ (surement une autre erreur de ma part on verra )
    voici l'affichage que ca me donne
    array (size=1)
    'CODE' => string '1' (length=1)
    INSERT INTO PERSONNE (num_Personne,num_etablissement,nature_civilite_personne, ...blabla...) VALUES('','Resource id #4','civilite','4','stagiaire',..blablabla...'')ErreurCannot add or update a child row: a foreign key constraint fails (`onefit`.`personne`, CONSTRAINT `personne_ibfk_1` FOREIGN KEY (`NUM_ETABLISSEMENT`) REFERENCES `etablissement` (`NUM_ETABLISSEMENT`)) : Cannot add or update a child row: a foreign key constraint fails (`onefit`.`personne`, CONSTRAINT `personne_ibfk_1` FOREIGN KEY (`NUM_ETABLISSEMENT`) REFERENCES `etablissement` (`NUM_ETABLISSEMENT`))

  19. #39
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Mais bon sang tu veux bien ouvrir tes oreilles.

    Ceci est le résultat d'un requête, le te dit ce qu'il y a dans cette requête mais en aucun cas ne modifie ce résultat.

    donc si tu passe comme variable le résultat de ta requête cela n'ira jamais.

    Je te conseilles la lecture suivante http://g-rossolini.developpez.com/tu...e=donnees#LVII histoire qu'on avance un peu.

  20. #40
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 58
    Par défaut
    au risque de paraître vraiment borné mon problème actuelle n'était pas d'afficher les résultat l'affichage étant une solution que l'on ma proposer pour trouver mes erreurs mais de récupérer les bonne info de mon formulaire et de les ajouter a ma bdd via une requête sql dans du php. Ce qui avec la bidoulle que j'ai fais avant et que tu m'a dit incorrect fonctionne et l'ajout s'effectue correctement .
    Cependant je restais ouvert a une éventuelle méthode plus simple ou plus propre pour arriver a cette finalité. dsl si je commence a t’énerver ou t'agacer

Discussions similaires

  1. [MySQL] You have an error in your SQL syntax
    Par Chipss dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/04/2011, 00h48
  2. erreur #1064 - You have an error in your SQL syntax;
    Par tamatifa dans le forum Installation
    Réponses: 1
    Dernier message: 20/05/2009, 22h21
  3. [MySQL] erreur dans une boucle ?You have an error in your SQL syntax; check the manual that c
    Par keokaz dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/10/2008, 23h08
  4. Erreur incomprehensible:You have an error in your SQL syntax.
    Par Siguillaume dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/06/2008, 10h18
  5. You have an error in your SQL syntax; check the manual ..
    Par Spaccio dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/07/2006, 17h39

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