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

Requêtes MySQL Discussion :

[SGBD] Comment initialiser les variables MySQL en PHP ?


Sujet :

Requêtes MySQL

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 067
    Points : 1 896
    Points
    1 896
    Par défaut [SGBD] Comment initialiser les variables MySQL en PHP ?
    voilou, je viens de découvrir les variables PHP et c'est bien pratique
    http://dev.mysql.com/doc/refman/5.0/fr/variables.html
    http://dev.mysql.com/doc/refman/5.0/...variables.html

    le plus fustrant, c'est que ma requete fonctionne parfaitement sous PhpMyAdmin mais je n'arrive pas à la faire fonctionner dans une page php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $q= "
    SET @a=0;
    SET @b=0;
    SET @c=0;
    SELECT date_format(date, '%Y-%M') as Mois, 
    date_format(date, '%d') as Jour,  
    MSISDN, 
    if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf, 
    if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal,
    if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal,
    count(TRANSACTION_ID) as Toute
    FROM `INDEX_EUROPE`
    GROUP BY Mois, Jour, MSISDN";
     
    $t=mysql_query ($q) or die ("<br>erreur de requete ".$q.", <br><br>erreur ".mysql_error());
    echo "<pre>";
    print_r ($t);
    echo "</pre>";

    Cela me retourne :
    erreur de requete SET @a=0; SET @b=0; SET @c=0; SELECT date_format(date, '%Y-%M') as Mois, date_format(date, '%d') as Jour, MSISDN, if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf, if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal, if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal, count(TRANSACTION_ID) as Toute FROM `INDEX_EUROPE` GROUP BY Mois, Jour, MSISDN,

    erreur Erreur de syntaxe près de '; SET @b=0; SET @c=0; SELECT date_format(date, '%Y-%M') as Mo' à la ligne 1

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    deja il faut exploser ta requete car Mysql n'accepte pas plusieurs requetes envoyer dans la meme demande.

    PhpMyAdmin explose les requetes envoyer pour faire un mysql_query de chaque sous requetes.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  3. #3
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 067
    Points : 1 896
    Points
    1 896
    Par défaut
    comment faire pour dispatcher.

    Mysql_query renvoie une ressource que j'utiliserais par la suite dans mon mysql_fetch_array.

    Si je fais plusieurs mysql_query, je vais avoir plusieurs ressources. Comment faire pour les plusieurs mysql_query avec un seul mysql_fetch_array. Le mysql_fetch_array n'accepte comme ressource que la ressource

    array mysql_fetch_array ( resource result [, int result_type] );



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ressource1 = mysql_query ("SET @a=0");
    $ressource2 = mysql_query ("SET @b=0");
    $ressource3 = mysql_query ("SET @c=0");
    $ressource4 = mysql_query ("
    SELECT date_format(date, '%Y-%M') as Mois, 
    date_format(date, '%d') as Jour,  
    MSISDN, 
    if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf, 
    if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal,
    if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal,
    count(TRANSACTION_ID) as Toute
    FROM `INDEX_EUROPE`
    GROUP BY Mois, Jour, MSISDN
    ");
     
    mysql_fetch_array($ressource?????);

  4. #4
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    C'est le dernier qui t'interesse.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  5. #5
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 067
    Points : 1 896
    Points
    1 896
    Par défaut
    quel dernier ? dernier de quoi ?
    je ne comprends pas du tout ce que tu veux dire ?

  6. #6
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    C le dernier mysql_query qui va te retourner un resultat interessant.
    donc c sur celui la que tu vas boucler.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  7. #7
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 067
    Points : 1 896
    Points
    1 896
    Par défaut
    Fais sur, j'ai essayer comme tu me l'as dit mais ce sont les > qui me bloque dans ma variable $q, il faudrait que je l'échape pour que > ne soit pas interprété dans la chaine .


    <?

    ..........

    $ressource1 = mysql_query ("SET @a=0");
    $ressource2 = mysql_query ("SET @b=0");
    $ressource3 = mysql_query ("SET @c=0");


    $q = "SELECT date_format(date, '%Y-%M') as Mois,
    date_format(date, '%d') as Jour,
    MSISDN,
    if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf,
    if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal,
    if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal,
    count(TRANSACTION_ID) as Toute
    FROM `INDEX_EUROPE`
    GROUP BY Mois, Jour, MSISDN";

    $ressource4 = mysql_query ($q) or die ("erreur ".mysql_error());
    $t=mysql_fetch_array($ressource4);

    echo "<pre>";
    print_r ($t);
    echo "</pre>";


    ?>

  8. #8
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut


    Pourquoi seraient ils interpretes ?
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2012, 15h35
  2. Réponses: 15
    Dernier message: 24/01/2009, 23h24
  3. Réponses: 1
    Dernier message: 22/06/2007, 15h40
  4. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  5. [VB.NET] Initialiser les variables
    Par Dnx dans le forum ASP.NET
    Réponses: 8
    Dernier message: 06/04/2005, 16h22

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