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
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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 Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    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..

  3. #3
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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 Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    un id site négatif...ca me parait pas trop logique..

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

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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 Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    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..

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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 Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Lol bon courage ... montre nous ta table peut être que...miracle

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

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

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    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.....

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    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, 20h35
  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, 12h18
  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, 11h52
  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, 10h39
  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, 11h49

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