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

Langage PHP Discussion :

Construction d'une requête SQL


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Construction d'une requête SQL
    Bonjour à tous,

    J'ai un problème avec ma requète SQL.
    la voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query('SELECT nom, profondeur, distance_cote FROM infos WHERE profondeur= '. $_POST['profondeur'] .'AND distance_cote= '. $_POST['distance_cote']);
    Merci à ceux qui pourront m'aider.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Et qu'est-ce qui cloche ?

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Re
    Il me donne une erreur et si je change la requète pour rechercher avec profondeur=0, ca marche.

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Voila là où j'ai une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql=mysql_query('SELECT nom,profondeur,distance_cote FROM infos WHERE profondeur='.$_POST['profondeur'].'AND distance_cote='.$_POST['distance_cote']); 
    while($resultat=mysql_fetch_array($sql))
    echo $resultat['nom'].' >> profondeur : '.$resultat['profondeur'].' m'.', distance des côtes : '.$resultat['distance_cote'].' km'.'</br>';

  5. #5
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Salut,
    déjà vérifie tes quotes dans ta requête, il y a un soucis qqpart.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql=mysql_query('SELECT nom, profondeur, distance_cote FROM infos WHERE profondeur= '. $_POST['profondeur'] .' AND distance_cote= '. $_POST['distance_cote'] .'');
    Et puis pense à mettre les balises de code, regarde dans les règles du forum si tu ne sais pas comment faire...

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    C'est quoi comme erreur ?
    Fait un echo de la requête avant de la soumettre au serveur qu'on voie le texte exacte de la requête.

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Voici ce que me renvoie mon navigateur:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sql=mysql_query('SELECT nom,profondeur,distance_cote FROM infos WHERE profondeur='.$_POST['profondeur'].'AND distance_cote='.$_POST['distance_cote']); 
    while($resultat=mysql_fetch_array($sql))
    echo $resultat['nom'].' : '.$resultat['profondeur'].' m'.'</br>'.$resultat['distance_cote'];

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 111
    Points : 28 466
    Points
    28 466
    Par défaut
    Si tu affichais le texte de ta requête avant de l'exécuter, tu verrais que la dernière chaîne n'est pas fermée.

  9. #9
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Si tu affichais le texte de ta requête avant de l'exécuter, tu verrais que la dernière chaîne n'est pas fermée.
    Il me semble que c'est ce que je disais plus haut, ça va je ne suis donc pas folle, j'ai eu des doutes à un moment

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Décompose ton programme pour pouvoir afficher la requête réellement envoyée au serveur :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $requete = 'SELECT nom,profondeur,distance_cote FROM infos WHERE profondeur='.$_POST['profondeur'].'AND distance_cote='.$_POST['distance_cote'];
     
    echo "<br />Requête :<br />$requete";
     
    $sql=mysql_query($requete); 
    while($resultat=mysql_fetch_array($sql))
    echo $resultat['nom'].' : '.$resultat['profondeur'].' m'.'</br>'.$resultat['distance_cote'];

  11. #11
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Décompose ton programme pour pouvoir afficher la requête réellement envoyée au serveur :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $requete = 'SELECT nom,profondeur,distance_cote FROM infos WHERE profondeur='.$_POST['profondeur'].'AND distance_cote='.$_POST['distance_cote'];
     
    echo "<br />Requête :<br />$requete";
     
    $sql=mysql_query($requete); 
    while($resultat=mysql_fetch_array($sql))
    echo $resultat['nom'].' : '.$resultat['profondeur'].' m'.'</br>'.$resultat['distance_cote'];
    Il manquerait pas les quote dans ta requete sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = 'SELECT nom,profondeur,distance_cote FROM infos WHERE profondeur="'.$_POST['profondeur'].'" AND distance_cote="'.$_POST['distance_cote'].'"';

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Si profondeur et distance_cote sont, comme je le pense, des valeurs numériques, inutile de s'encombrer de '.

Discussions similaires

  1. Construction d'une requête SQL
    Par FearHaCk dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/08/2013, 11h21
  2. [WD17] Construction d'une requête SQL
    Par alex1005 dans le forum WinDev
    Réponses: 9
    Dernier message: 25/10/2012, 22h06
  3. Construction d'une requête SQL avec jointure
    Par Didiou35 dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/10/2009, 22h26
  4. Construction d'une requête SQL avec un TEdit
    Par aouiche dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/08/2009, 14h10
  5. Construction d'une requête SQL
    Par zpliz dans le forum Débuter
    Réponses: 6
    Dernier message: 12/06/2009, 11h21

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