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 d'une requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1
    Par défaut Syntaxe d'une requête
    Bonjour à tous.

    Je m’excuse d’avance de vous ennuyez avec ce genre de chose somme toute assez futile, mais ça me tracasse un peu… j’ai fais des recherches pour trouver moi-même solution au problème, mais vous avouerez qu’il n’est pas aisé de trouver pareil chose avec des mots clés sur un moteur de recherche.

    J’ai cette requête SQL :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req=mysql_query('SELECT mat 
      FROM info 
      WHERE ( mat = "'.htmlentities($_POST['pseudo']).'" 
        OR pseudo = "'.htmlentities($_POST['pseudo']).'" ) 
        AND passe = "'.htmlentities($_POST['passe']).'"', $connexion);
    Comme vous pouvez le constater, j’ai à deux reprises « "'.htmlentities($_POST['pseudo']).'" », une fois avec « mat » et une fois avec « pseudo », et je me demandais s’il n’y avait pas une manière de « factoriser », du genre :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req=mysql_query('SELECT mat 
      FROM info 
      WHERE ( mat OR pseudo ) = "'.htmlentities($_POST['pseudo']).'" 
        AND passe = "'.htmlentities($_POST['passe']).'"', $connexion);

    C’est pas d’un intérêt fondamental, mais j’aimerais tout de même savoir s’il est possible de faire une telle chose. Merci d’avance.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    La seconde requête ne doit pas fonctionner.

    Pour "factoriser" la longue variable htmlentities($_POST['pseudo']), tu peux la mettre dans une variable plus courte et utiliser celle-ci dans la requête :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $pseudo = htmlentities($_POST['pseudo']);
    $req = mysql_query("SELECT mat 
      FROM info 
      WHERE ( mat = '$pseudo'
        OR pseudo = '$pseudo') 
        AND passe = '".htmlentities($_POST['passe'])."', $connexion);

    Par contre, je ne vois pas l'intérêt de sélectionner mat WHERE mat = $pseudo que ton programme connait déjà !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [SomDom] Syntaxe dans une requête
    Par Invité dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 14/11/2019, 09h38
  2. Problème de syntaxe d'une requête
    Par Oulaoup dans le forum Access
    Réponses: 4
    Dernier message: 02/08/2017, 19h19
  3. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50
  4. Syntaxe d'une requête avec GROUP
    Par gvdmoort dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/10/2006, 15h10
  5. Erreur de syntaxe sur une requête paramétrée
    Par deglingo37 dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 22h21

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