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 :

Erreur de syntaxe (opérateur absent) dans l'expression [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut Erreur de syntaxe (opérateur absent) dans l'expression
    voici mon message d'erreur

    Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (op�rateur absent) dans l'expression 'Demande_intervention.site = site.analytique and Num_de_demande = .$Num_de_demande'., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\demande intervention\planif_accepter.php on line 88
    37000
    et ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql='SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = '.$Num_de_demande ;

    Je ne comprend pas le message
    Si quelque a une solution ou une explication de mon erreur, merci de me le dire
    Quand l'impossible devient possible

  2. #2
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    essai cette requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = '$Num_de_demande'" ;

  3. #3
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    en testant la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = '$Num_de_demande'" ;
    j'ai un nouveau message d'erreur :

    Type de données incompatible dans l'expression du critère., SQL state 22005
    il fait reference a la requete !
    Quand l'impossible devient possible

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    quel est le type de ton champ Num_de_demande dans la base de données?

    si c'est un type numérique, il ne faut pas mettre de '' entre $Num_de_demande.

    les simples quotes doivent être mis pour des données de type caractère

  5. #5
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    ok,en suivant vos instructions, j'ai changé ma requete par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = $Num_de_demande" ;
    du coup, j'ai le même message d'erreur qu'au début:

    Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (op�rateur absent) dans l'expression 'Demande_intervention.site = site.analytique and Num_de_demande ='., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\demande intervention\planif_accepter.php on line 93
    37000
    je n'ai pas précisé, mais avant ma requete, ma varibale est de forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Num_de_demande = $_GET["Num_de_demande"];
    Quand l'impossible devient possible

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re,

    ta variable semble vide...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $Num_de_demande = $_GET["Num_de_demande"];
    echo "Contenu de \$Num_de_demande: ". $Num_de_demande;
    Pour vérifier si ta variable contient bien qqch.

  7. #7
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    J’ai déjà pensé,
    Mais non, elle n'est pas vide

    Sur ma page, en utilisant j'ai bien mon numéro de demande qui s'affiche !
    Quand l'impossible devient possible

  8. #8
    Invité
    Invité(e)
    Par défaut
    peux-tu faire un echo de ta requête et nous montrer le résultat?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = $Num_de_demande" ;
     
    echo $sql;

    sinon le mieux d'afficher le code entre la récupération de la variable et l'execution de la requête.

  9. #9
    Membre du Club Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Autant pour moi, j’ai trouvé mon erreur

    Ma requête est bonne,
    L’erreur était dans mon code de traitement PHP


    Dans mon header , je rappelai la même page

    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("location:page2.php");
    ps: on peut ecrire les requetes de plusieurs façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande =" .$Num_de_demande ;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM Demande_intervention, site where Demande_intervention.site = site.analytique and Num_de_demande = $Num_de_demande" ;
    Tout simplement !
    Quand l'impossible devient possible

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

Discussions similaires

  1. [AC-2010] Erreur de syntaxe (opérateur absent) dans l'expression
    Par Plantakwatix dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/02/2013, 15h37
  2. Erreur de syntaxe (opérateur absent) dans l'expression
    Par casimir81100 dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/08/2012, 01h35
  3. Réponses: 3
    Dernier message: 12/07/2012, 09h39
  4. [AC-2010] (Erreur 3075) - Erreur de syntaxe (opérateur absent) dans l'expression "x x x".
    Par Aerial dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/12/2011, 16h38
  5. Réponses: 7
    Dernier message: 20/11/2008, 10h58

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