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 éprouvé

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

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 211
    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 émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    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.

  3. #3
    Membre éprouvé

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

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 211
    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 émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    C'est le dernier qui t'interesse.

  5. #5
    Membre éprouvé

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

    Informations professionnelles :
    Activité : MOA

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

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    C le dernier mysql_query qui va te retourner un resultat interessant.
    donc c sur celui la que tu vas boucler.

  7. #7
    Membre éprouvé

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

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 211
    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 émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

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


    Pourquoi seraient ils interpretes ?

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