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 :

json_encode renvoi null


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Novembre 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 57
    Par défaut json_encode renvoi null
    Bonjour,

    je pose mon probleme ici en espérant posté au bon endroit

    Je suis entrain de faire une page php dans laquelle j’insère un graphique à l'aide de mysql et chartjs. Mon probleme est qu'apparemment la requete me renvoi des resultats nulls alors que via un requeteur celle ci fonctionne et renvoi des resultats.

    Voici le code:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
     
    				    $annee_courante =  intval(date('Y'));
    				    $annee_precedente= date('Y')-1;
     
     
    				    $conn = new PDO('mysql:host=xxxx;dbname=xxxx', 'bugzilla', 'xxxx');
    				    $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    				    $__sql=$conn->prepare("SELECT annee_creation, mois_creation , COUNT(bug_id) as count FROM stats_bugzilla_prod WHERE annee_creation in (:annee_precedente,:annee_courante) GROUP BY annee_creation, mois_creation ORDER BY annee_creation DESC;");
    				    $__sql->bindValue(':annee_precedente', $annee_precedente);
    				    $__sql->bindValue(':annee_courante', $annee_courante);
                        $__sql->execute();
     
                        var_dump($annee_precedente);
                        var_dump($annee_courante);
     
                         $mois_data=[];
                         $nbticket_data=[];
     
                            while ($rows=$__sql->fetch(PDO::FETCH_ASSOC)){
     
                                extract($rows);
                                $mois_data[]=$mois;
                                $nbticket_data[]=$nbticket;
                            }
     
                            echo json_encode($mois_data);
                            echo json_encode($nbticket_data);
     
     
    				?>
    un echo $__sql renvoi le message:

    Uncaught Error: Object of class PDOStatement could not be converted to string.....
    les var_dump() renvoient int(2018) et int(2019).

    auriez vous une idée svp ?

    merci bien,

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    COUNT(bug_id) as count
    Bonsoir. Une idée comme ça, count serait pas un mot réservé en SQL ? Essaie ceci

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT annee_creation, mois_creation , COUNT(bug_id) as nb
    FROM stats_bugzilla_prod 
    WHERE annee_creation in (2018,2019) 
    GROUP BY annee_creation, mois_creation 
    ORDER BY annee_creation DESC, mois_creation DESC;

    Ensuite, en PHP, je ferais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $data=$__sql->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($data);
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Novembre 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 57
    Par défaut
    Bonjour Dendrite,

    Merci pour ta réponse. Entre temps, j’ai cherché et trouve où ça coinçait. Comme tu l’as suggéré j’ai changé le «*count*» en «*nb_ticket*» et fais un «*cast*» dans ma requête pour modifier le type du champs qui est à l’origine de type BIGINT et c’est passé. Je ne sais pas si c’est une bonne pratique...

    Je mettrai la solution ici plus tard

    Encore merci a toi pour ton temps,

Discussions similaires

  1. Request.getParameter renvoie NULL
    Par the java lover dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 22/10/2006, 10h34
  2. [ppc] Malloc renvoie NULL !
    Par FamiDoo dans le forum C++
    Réponses: 4
    Dernier message: 18/08/2006, 10h01
  3. Operateur "new" renvoi NULL
    Par Demerzel_01 dans le forum C++
    Réponses: 25
    Dernier message: 07/07/2006, 09h43
  4. [SPL] Rewind() qui renvoie NULL
    Par fadeninev dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 06/06/2006, 15h44
  5. [JDBC]Un new qui renvoie null...
    Par Ditch dans le forum JDBC
    Réponses: 4
    Dernier message: 03/01/2005, 13h14

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