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 :

Syntaxe dans requête SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut Syntaxe dans requête SQL
    Bonjour à tous !

    Je dois avoir un problème avec la syntaxe ci-dessous : j'obtients effectivement ma fenêtre d'authentification, mais lorsque je rempli les valeurs adéquates pour les champs PHP_AUTH_USER et PHP_AUTH_PW, SQL me rend le message d'erreur suivant :

    erreur mySQL :Champ 'Zorglub' inconnu dans where clause
    ,
    Zorglub étant la valeur que j'envoie pour PHP_AUTH_USER.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	elseif (isset($_SERVER["PHP_AUTH_USER"])){
    		$fois++;
    		$sql = "SELECT * FROM utilisateurs WHERE 
    		pseudo={$_SERVER['PHP_AUTH_USER']} and mot_passe={$_SERVER['PHP_AUTH_PW']}";
    Le problème, de plus, est que je suis en train d'apprendre le language PHP tout en suivant les exemples de codes d'un livre, et les différents codes proposés m'ont déjà donnés du fil à retordre, au début dépannés et expliqués grâce à l'aide de quelques copains sur le forum, maintenant, au fur et à mesure de l'avancée dans le code, je m'efforce et parviens plus ou moins à rectifier le tir, mais là, je n'ai pas encore trouvé.

    L'un d'entre vous pourrait-il m'aider SVP ?
    Merci beaucoup d'avance....

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Il te manque les simple quotes qui permettent de délimité du texte dans les requêtes SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "SELECT * FROM utilisateurs WHERE 
    		pseudo='$_SERVER['PHP_AUTH_USER']' and mot_passe='$_SERVER['PHP_AUTH_PW']'";

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Un petit conseil: si tu veux éviter ce genre de problèmes, un simpledevrait te faire apparaître la requête telle qu'elle sera envoyée au serveur.
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  4. #4
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut

    Merci à tous les deux !

    En essayant la syntaxe de romulus1206, j'obtiens ce coup ci l'erreur suivante :
    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in ....
    Du coup, avec les petites informations récupérées à droite à gauche, j'ai rajouté des {} en plus.... Ca à l'air de passer.... Ais-je eû tort ? J'apprends en ce moment, donc excusez moi pour les questions et/ou tests un peu bizarres...

    J'ai donc pû tester ensuite la solution de riete, c'est tout simple et je n'y avais pas pensé....

  5. #5
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par Zhebulon Voir le message

    Merci à tous les deux !

    En essayant la syntaxe de romulus1206, j'obtiens ce coup ci l'erreur suivante :

    Du coup, avec les petites informations récupérées à droite à gauche, j'ai rajouté des {} en plus.... Ca à l'air de passer.... Ais-je eû tort ? J'apprends en ce moment, donc excusez moi pour les questions et/ou tests un peu bizarres...
    Tu n'as pas à t'excuser, nous sommes tous des débutant en informatique. Chaque chose que tu apprends chaque jour dans ce métier est obsolète très rapidement. Donc il faut sans cesse être débutant pour pouvoir avoir la sensation d'être dans le coup.
    Ceux qui se prennent pour des cadors feraient bien de regarder autour d'eux, le monde est peuplé d'ignorant dont nous faisons tous partie .
    La minute philosophique est terminée.

    Citation Envoyé par Zhebulon Voir le message
    J'ai donc pû tester ensuite la solution de riete, c'est tout simple et je n'y avais pas pensé....
    Les accolades c'est aussi une possibilité, pour ma part, je préfères la notation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT * FROM utilisateurs WHERE 
    		pseudo='".$_SERVER['PHP_AUTH_USER']."' and mot_passe='".$_SERVER['PHP_AUTH_PW']."'";
    Qui est à mon avis plus lisible car si tu travailles avec un éditeur de code analyse le code ( j'ai oublié le nom que cela porte et pourtant j'utilise ce type d'outils tous les jours).
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par Zhebulon Voir le message

    Merci à tous les deux !

    En essayant la syntaxe de romulus1206, j'obtiens ce coup ci l'erreur suivante :

    Du coup, avec les petites informations récupérées à droite à gauche, j'ai rajouté des {} en plus.... Ca à l'air de passer.... Ais-je eû tort ? J'apprends en ce moment, donc excusez moi pour les questions et/ou tests un peu bizarres...

    J'ai donc pû tester ensuite la solution de riete, c'est tout simple et je n'y avais pas pensé....
    Les accolades c'est aussi une possibilité, pour ma part, je préfères la notation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT * FROM utilisateurs WHERE 
    		pseudo='".$_SERVER['PHP_AUTH_USER']."' and mot_passe='".$_SERVER['PHP_AUTH_PW']."'";
    Qui est à mon avis plus lisible car si tu travailles avec un éditeur de code analyse le code ce sera clair ( j'ai oublié le nom que cela porte et pourtant j'utilise ce type d'outils tous les jours).
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  7. #7
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut
    Tu n'as pas à t'excuser, nous sommes tous des débutant en informatique. Chaque chose que tu apprends chaque jour dans ce métier est obsolète très rapidement. Donc il faut sans cesse être débutant pour pouvoir avoir la sensation d'être dans le coup.
    Hé hé.... Là, je suis d'accord avec toi, et c'est pareil pour le hardware informatique....

    Je te remercie pour tes bonnes explications, riete.... Les diverses notations que tu me propose me permettent d'apprendre encore plus sur ces fameuses accolades ou non et les simples cotes, double cotes.... parmi lesquelles je me trompe relativement souvent.... Il n'y a pas de tuto qui traite largement de cette discipline pour le PHP ? J'en ai trouvé un paquet sur le PHP en général sur le site développez, mais ne traitant pas de ce genre de cas particulier.... A moins qu'il ne me faille chercher dans le SQL directement...

    Merci beaucoup !

  8. #8
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je n'ai pas de tuto non plus. L'expérience à été ma meilleur alliée.
    Il y a d'autres notations que celles que je te propose.
    Fais un essaie avec un pseudo avec une apostrophe !
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  9. #9
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut
    Bonjour riete !

    Bonne idée.... Merci pour ton aide si précieuse et @+tard

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

Discussions similaires

  1. Syntaxe Variable de session dans requête SQL
    Par dekalima dans le forum Langage
    Réponses: 1
    Dernier message: 07/01/2011, 11h35
  2. Problème de syntaxe dans requête SQL
    Par soprano6217 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/06/2009, 15h49
  3. Syntaxe "DateDifférence" dans requête sql
    Par Yusmar dans le forum WebDev
    Réponses: 0
    Dernier message: 09/02/2009, 19h00
  4. [MySQL] syntaxe dans requête sql ?
    Par kev42100 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/05/2008, 15h05
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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