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 :

probleme variable requete SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut probleme variable requete SQL
    Bonjour à tous

    j'ai un petit probleme que je ne parviens pas à résoudre.

    je stocke dans mon URL une variable qui contient le numéro du magasin qui m'interesse.
    Ce numéro est aussi le nom de la base de données dans laquelle j'effectue ma requete.

    ainsi voici mon code php contenant ma requete SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $table = $_GET['magasin'];
    $colname_TOTAL1 = "-1";
    if (isset($_GET['rayon'])) {
      $colname_TOTAL1 = (get_magic_quotes_gpc()) ? $_GET['rayon'] : addslashes($_GET['rayon']);
    }
    mysql_select_db($database_stocks_toxiques, $stocks_toxiques);
    $query_TOTAL1 = sprintf("SELECT SUM(valeur_stock_toxique) as TOTAL1 FROM $table WHERE rayon = %s AND periode ='3' AND gamme NOT IN ('S') AND top_reappro NOT IN ('0') AND ecart_vente>'0' NOT IN ('0')", $colname_TOTAL1);
    $TOTAL1 = mysql_query($query_TOTAL1, $stocks_toxiques) or die(mysql_error());
    $row_TOTAL1 = mysql_fetch_assoc($TOTAL1);
    $totalRows_TOTAL1 = mysql_num_rows($TOTAL1);
    et voici le message d'erreur que m'affiche mon naviguateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de syntaxe près de '11 WHERE rayon = 1 AND periode ='3' AND gamme NOT IN ('S') AND top_reappro NOT I' à la ligne 1
    il récupère pourtant bien le numéro du magasin (ici : 11) comme le prouve le message d'erreur.

    merci à tous

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Bonjour ,
    11 est le nom d'une table ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    oui en effet c'est bien le nom de la table

    tu penses que c'est ça qui pose probleme?

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    PAs specialement , tu peux afficher la requete complete et la coller la stp ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    euh..

    je vois pas trop ce que je ajouter

    voici le code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $table = $_GET['magasin'];
    $colname_TOTAL1 = "-1";
    if (isset($_GET['rayon'])) {
      $colname_TOTAL1 = (get_magic_quotes_gpc()) ? $_GET['rayon'] : addslashes($_GET['rayon']);
    }
    mysql_select_db($database_stocks_toxiques, $stocks_toxiques);
    $query_TOTAL1 = sprintf("SELECT SUM(valeur_stock_toxique) as TOTAL1 FROM $table WHERE rayon = %s AND periode ='3' AND gamme NOT IN ('S') AND top_reappro NOT IN ('0') AND ecart_vente>'0' NOT IN ('0')", $colname_TOTAL1);
    $TOTAL1 = mysql_query($query_TOTAL1, $stocks_toxiques) or die(mysql_error());
    $row_TOTAL1 = mysql_fetch_assoc($TOTAL1);
    $totalRows_TOTAL1 = mysql_num_rows($TOTAL1);
    et la suite dans ma page HTML pour afficher mon resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo ROUND($row_TOTAL1['TOTAL1']); ?>
    la requete isolée en elle-meme c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM(valeur_stock_toxique) as TOTAL1 FROM $table WHERE rayon = %s AND periode ='3' AND gamme NOT IN ('S') AND top_reappro NOT IN ('0') AND ecart_vente>'0' NOT IN ('0')
    désolé je ne suis que débutant donc n'hésites pas si tu as besoin d'autres éléments

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    un ferait l'affaire
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    merci pour ta réponse mais malheureusement celle-ci ne solutionne pas mon pb.

    mon message d'erreur pointe directement sur la requete SQL dans mon code PHP.

    Quelle peut etre mon erreur de syntaxe??

    merci d'avance

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par docteurdorian Voir le message
    merci pour ta réponse mais malheureusement celle-ci ne solutionne pas mon pb.
    bah non puisque je te demande simplement d'afficher la requete et me la montrer
    Citation Envoyé par docteurdorian Voir le message
    mon message d'erreur pointe directement sur la requete SQL dans mon code PHP.
    une erreur de requete reste une erreur de requete , qu'elle soit envoyé par un code PHP , Python , VB etc .....d'ou le besoin de voir a quoi elle ressemble....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    désolé ridekick

    je croyais déjà te l'avoir montré dans mon précédent message avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM(valeur_stock_toxique) as TOTAL1 FROM $table WHERE rayon = %s AND periode ='3' AND gamme NOT IN ('S') AND top_reappro NOT IN ('0') AND ecart_vente>'0' NOT IN ('0')
    apparemment ce n'est pas ça dont tu as besoin et j'avoue que je suis un peu perdu

    excuse moi de te faire perdre du temps

    précise moi ce dont tu as besoin

    merci encore

    edit : en fait avant j'avais le nom de la base de donnée en dur dans ma requete et tout fonctionnait tres bien. c'est donc la variable qui donne le nom de la base de donnée qui coince.

  10. #10
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    en fait j'aimerais que tu affiche la requete comme je t'ai montré pour qu'on voit a quoi elle ressemble une fois les variables ($table par exemple) remplacée par leur valeurs.

    Une fois que tu auras ta requete il faudra la tester dans phpMyAdmin si tu as .
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    ok désolé

    je viens de tester avec un nom de table en lettre et non en chiffre et la ça marche

    désolé de t'avoir fait perdre du temps et merci pour tes conseils

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

Discussions similaires

  1. [Oracle] Probleme variable requete SQL Oracle PHP
    Par tatann dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/03/2011, 17h25
  2. Probleme de requete SQL
    Par arcane dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 04/10/2005, 11h59
  3. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18
  4. Probleme Session/requete SQL
    Par kolib dans le forum ASP
    Réponses: 4
    Dernier message: 14/06/2005, 16h23
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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