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 :

Un problème avec une reqête sous PHP [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut Un problème avec une reqête sous PHP
    Bonjour voila, j'utiliser PHP avec un base de données Access et je rencontre un probleme lorsque que je test mes requête, ma première requete passe sans problème, mais ensuite je fais un INSERT et a l'execution j'ai une jolie erreur m'indiquant qu'il y a une erreur de syntaxe dans mon insert:

    Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\intervention.php on line 46
    37000
    pourtant j'ai bien regardé et je ne vois pas en quoi mon INSERT présente une erreur de syntaxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT  INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo) VALUES ( '$idClient->ID_Site', '$client', '$bilan', '$memo') " ;
    pour ceux que ça intéresse voila la code php :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?
        //connection au serveur
          $cnx = odbc_connect( "DSN_ines", "root", "" ) or die ("Impossible de se connecter à la bas de donnée") ;
     
        //récupération des valeurs des champs:
          //client :
          $client = $_POST['client'] ;
     
        //bilan :
          $bilan = $_POST['bilan'] ;
     
        //mémo :
          $memo = $_POST['memo'] ;
     
        //*************************************************
        //Récupération de l'identifiant du client :
        //*************************************************
     
        //requête SQL :
        $sql = "SELECT ID_Site FROM site WHERE Raison_sociale = '$client'" ;
     
        //exécution de la requête :
        $requete = odbc_do($cnx, $sql) or die( odbc_error() ) ;
     
        $idClient = odbc_fetch_object( $requete );
     
        echo $idClient->ID_Site;
     
        //*******************************************************************************  
        //Stokage des informations de l'intervention dans la table donnees_intervention :
        //*******************************************************************************
     
        //requête SQL :
        $sql = "INSERT  INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo)
                VALUES ( '$idClient->ID_Site', '$client', '$bilan', '$memo') " ;
     
        //exécution de la requête :
        $requete = odbc_do($cnx, $sql) or die( odbc_error() ) ;
     
        //affichage des résultats, pour savoir si l'insertion a marchée:
          if($requete)
            echo("<center>L'insertion a été correctement effectuée</center>") ;
          else
            echo("<center>L'insertion à échouée</center>") ;
     
    ?>
    Si quelqu'un pouvait m'aider je lui en serrait reconnaissant. Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '$idClient->ID_Site'
    C'est ton champ ça?

    sinon fait un echo $sql pour voir a quoi resemble ta requete avant de l'envoyer..
    Stay in Bed .. Save Energy

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    est ce que tu peux nous afficher ta requête une fois générée stp ? (echo $sql; )

    Merci


    '$idClient->ID_Site' : si c'est un id numérique, pas besoin de quotes ...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    voila :

    INSERT INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo) VALUES ( -2145104007, 'SODDIM', 'salut', 'toi')
    Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\intervention.php on line 48
    37000

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    un id site négatif...ca me parait pas trop logique..
    Stay in Bed .. Save Energy

  6. #6
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    on ne sait jamais mais essaye de mettre des simple quotes ' autour de ID Site car c'est bizard ce nombre negatif !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    c'est normal qu'il soit négatif
    C'est l'entreprise ou j'effectue mon stage. ils ont des id aussi bien possitif que negatif dans leur table. Donc j'ai pas a me soucier du signe normalement.

    Et pour ce qui est des simple cote ca ne change tout simplement rien ^^;

    toujour la meme erreur

    INSERT INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo) VALUES ( '-2145104007', 'SODDIM', 'salut', 'toi')
    Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\intervention.php on line 48
    37000

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Si tu fait la requete directement sur la base sans passer par php ca passe ou pas....si passe pas non plus ta un pb dans ta requete mais je vois pas quoi..dsl

    Peut êttre si tu nous montrez la structure de ta base..
    Stay in Bed .. Save Energy

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    J'ai fait se que tu m'as dis et il s'agit bien d'une erreur de syntaxe, je vais de voir y réfléchir car je ne vois pas trop se qui cloche.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Lol bon courage ... montre nous ta table peut être que...miracle
    Stay in Bed .. Save Energy

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    je pense que l'erreur se trouve la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo)
    il faut ajouter des backquotes `` dans tes noms de champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO donnees_intervention ( `ID Site`, `Raison sociale`, Bilan, Memo)
    ^^

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    Bon j'ai carrement modifier la table donnees_intervention, j'ai passé ID Site en ID_Site et même chose pour la Raison sociale. Ca a résolu mes problèmes, je vous remercie pour votre aide.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Essai quand meme avec des `` juste pour savoir . ^^

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Citation Envoyé par Alexlesilex
    je pense que l'erreur se trouve la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO donnees_intervention ( ID Site, Raison sociale, Bilan, Memo)
    il faut ajouter des backquotes `` dans tes noms de champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO donnees_intervention ( `ID Site`, `Raison sociale`, Bilan, Memo)
    ^^
    a bé oui ca doit venir de la.....
    Stay in Bed .. Save Energy

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    j'ai déjà essayé comme ca et ca ne passé pas désolé

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

Discussions similaires

  1. [PHP 5.0] Problème avec une requete update php
    Par diblasio dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2010, 21h35
  2. [XL-2010] probléme avec une condition sous toute une colonne
    Par Fawez dans le forum Excel
    Réponses: 1
    Dernier message: 12/06/2010, 13h18
  3. Problème avec une Div sous firefox et non sous IE
    Par Phpdebut dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/01/2010, 12h52
  4. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 11h39
  5. problème avec une page web sous firefox!
    Par 3psilOn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/11/2004, 12h49

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