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 trop d'arguments fonction sprintf [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    Par défaut probleme trop d'arguments fonction sprintf
    bonjour à tous,

    je me redirige vers cette section du forum car, après avoir solutionné le probleme concernant ma requet sql, il semble que le véritable probleme se situe dans mon code php.

    je réalise des pages dynamiques pour un intranet collaboratif.

    voici le code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $colname_TOTAL10 = "-1";
    if (isset($_GET['rayon'])) {
      $colname_TOTAL10 = (get_magic_quotes_gpc()) ? $_GET['rayon'] : addslashes($_GET['rayon']);
    }
    mysql_select_db($database_stocks_toxiques, $stocks_toxiques);
    $query_TOTAL10 = sprintf("SELECT sum(valeur_stock_toxique) AS TOTAL10 FROM generale WHERE rayon = %s AND periode ='3' AND reference NOT IN (SELECT reference FROM generale WHERE rayon = %s AND periode ='2')", $colname_TOTAL10);
    $TOTAL10 = mysql_query($query_TOTAL10, $stocks_toxiques) or die(mysql_error());
    $row_TOTAL10 = mysql_fetch_assoc($TOTAL10);
    $totalRows_TOTAL10 = mysql_num_rows($TOTAL10);
    et voici le message d'erreur retourné lorsque je tente d'afficher la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: sprintf() [function.sprintf]: Too few arguments in C:\Program Files\EasyPHP 3.0\www\stockstoxiques\evolution.php on line 98
    Query est vide
    la ligne 98 est celle qui contient la requete sql mais comme je l'ai précisé, j'ai testé la requete avec PhpMyAdmin est celle-ci fonctionne correctement.

    merci d'avance!

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ... WHERE rayon = %s AND periode ='3' AND reference NOT IN
    (SELECT reference FROM generale WHERE rayon = %s ...
    Tu utilises deux fois %s et tu ne valorises que le 1er avec $colname_TOTAL10
    = revois l'usage que tu fais de sprintf( )

  3. #3
    Membre confirmé
    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
    Par défaut
    merci pour ta réponse mais j'avoue que j'utilise l'assistant de dreamweaver pour écrire mon code php donc je ne connais pas bien la fonction sprintf.

    donc l'erreur viens de ma double utilisation d'une variable que je récupère dans l'URL.

    Mais comme tu as pu le constater j'ai besoin deux fois de cette variable.

    je ne veux pas abuser de ton temps mais peux tu m'indiquer si il y a une solution simple en gardant la fonction sprintf ou si je dois utiliser autre chose?

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    Si tu connaîs mal sprintf( ) alors tu peux consulter sa doc http://fr3.php.net/sprintf

    A propos de ton pb : si tu as besoin de la même variable 2 fois alors il suffit de la stipuler 2 fois à la fin de ton sprintf( )...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... eriode ='2')", $colname_TOTAL10, $colname_TOTAL10) ;

  5. #5
    Membre confirmé
    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
    Par défaut
    merci beaucoup à toi seb

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

Discussions similaires

  1. [AJAX] Argument fonction php
    Par rghouly dans le forum AJAX
    Réponses: 1
    Dernier message: 22/08/2011, 08h39
  2. probleme avec fonction sprintf
    Par sousoi dans le forum C
    Réponses: 8
    Dernier message: 30/06/2010, 22h06
  3. Réponses: 2
    Dernier message: 31/05/2005, 09h50
  4. probleme d'appel de fonction!
    Par transistor49 dans le forum C++
    Réponses: 5
    Dernier message: 11/03/2005, 10h46
  5. Réponses: 8
    Dernier message: 13/08/2004, 12h32

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