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 :

SELECT a WHERE c=d AND h=k


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut SELECT a WHERE c=d AND h=k
    Bonjour chers amis développeurs!
    content d'être parmi vous comme toujours ... Bon j'ai un souci:

    J'ai une table contenant les colonnes "nom", "mail" et "mot_de_passe_" et dans mon cript php, je souhaiterais afficher le nom se trouvant là où
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail=$_POST['mail'] et mot_de_passe=$_POST['pass']
    sachant que les variables $_POST reviennent d'un formulaire, mais je me bloque lorsqu'il faut faire la requette Sql suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT nom WHERE  mail=$_POST['mail'] AND mot_de_passe=$_POST['pass']
    il refuse de m'afficher le nom et dit que je dois retourner voir mon manuele car il y a une erreur de syntaxe! aidez moi svp ... merci par avance!
    Dernière modification par Deepin ; 15/03/2011 à 17h00. Motif: Merci d'utiliser la balise [code] (bouton #) de l'editeur

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine_sql = "SELECT nom WHERE mail = '{$_POST['mail']}' AND mot_de_passe = '{$_POST['pass']}'";
    Voici ce que cela donnerai.
    Cependant il est à noter que c'est franchement plus que moche de faire ainsi.
    Les variables ne sont pas vérifiées et on pourrait passer n'importe quoi.
    Il faut faire des vérifications : type de champs attendu, échappement des caractères spéciaux, ...

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine_sql = "SELECT nom WHERE mail = '{$_POST['mail']}' AND mot_de_passe = '{$_POST['pass']}'";
    ton code n'est pas sécurise, utilise mysql_real_escape_string,

  4. #4
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Tu n'as semblerait-il pas eu le courage de lire tout mon message Stealth35.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Tu n'as semblerait-il pas eu le courage de lire tout mon message Stealth35.
    pourquoi ne pas l'avoir fait directement alors ?
    ca fait un peu : "tien voici le code par contre c'est pas bon"

  6. #6
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    Il n'y a pas de clause "FROM", donc aucune de vos requêtes ne fonctionnera.

  7. #7
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    pourquoi ne pas l'avoir fait directement alors ?
    ca fait un peu : "tien voici le code par contre c'est pas bon"
    Parce que l'auteur de ce sujet n'a pas précisé quel drivers il utilisait...
    mysql_real_escape_string() alors qu'il pourrait utiliser PDO ?

    Mais sinon je tire mon chapeau à bhamp0, il a trouvé l'erreur la plus élémentaire qui soit et qui devait en tout état de cause être la seule.

  8. #8
    Invité
    Invité(e)
    Par défaut Merci!
    Chers amis, chers freres je vous remercie!

    Le code marche parfaitement et j'en suis ravi... Au passage, sachez que je suis un passionné de la programmation et si je vous pause cette question "simple" c'est parce que là où je suis, on n'étude pas les langages du web (juste un peu le langage C) donc tous ce que je fais en PHP ou JAVA ou C++ ou VB.NET ou Sql ou Qt n'est que projet personnel...

    Par ailleurs, je fonctionne comme ceci dans ma procedure:
    1) j'ai fini le design de mon site
    2) je bosse sur les BD pour évidemment transiter mes infos de page en page
    3) lorsque tout est fini,je VERIFIE LA SECURITé liée au données réçues et bien d'autres! c'est pourquoi j'ai omis tout ce qui conserne la sécurité dans mon message précédent; En générl la sécurité c'est ma derniere étape...!

    Est-ce une mauvaise méthode? un conseil serait le bienvenu...

    Merci encore très chers!

  9. #9
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    La sécurité se prévoit en général, en amont du projet, au moment de la phase d'architecture.
    Que ce soit un projet personnel ou professionnel d'ailleurs ...

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ok! ok dans ce cas je changerai de methode au moment venu... merci encore mais sinon je prefere souvent tout finir et après je refais un tour complet sur le programme pour le sécuriser au maximum... merci pour le conseil!

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

Discussions similaires

  1. SELECT.. FROM.. WHERE.. AND.. AND.. !
    Par jolona dans le forum VB.NET
    Réponses: 32
    Dernier message: 22/10/2013, 18h39
  2. Réponses: 2
    Dernier message: 08/09/2009, 11h41
  3. select avec WHERE multiple or and
    Par rvm31 dans le forum Requêtes
    Réponses: 7
    Dernier message: 05/01/2008, 13h54
  4. [COUNT] select ... from ... where count !
    Par tmcgrady dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/11/2007, 17h29
  5. [hibernate][spring]requete select from where IN
    Par whilecoyote dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/04/2006, 09h06

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