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 :

Fatal error: Unsupported operand types in.. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut Fatal error: Unsupported operand types in..
    Salut !!

    Bon voilà j'ai cette erreur qui s'affiche "Fatal error: Unsupported operand types in..." Mais je comprend pas trés bien je vous mets la partie du code concerné en esperant que vous puissiez m'aider...

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    //Cette requête renvoie le comptage total des hits des IP dans la base de données
      $totalIP=("select sum(count) as total from LogsTableIP") ;
      $totalHits=mysql_query($totalIP) or die('Erreur SQL !<br>'.$totalIP.'<br>'.mysql_error());
    
      $msgFin = "" ;
    
    //chaque IP est examinée et si une des IP appartient à un masque d'IP, le pays auquel appartient l’IP est incrémenté.
    //Si l'IP n'est pas identifiée, une valeur booléenne ($reussite) est réglée et des disques d'essai de l'IP et le nombre de fois où cet IP non inscrit apparaît.
      while($hitsIP=mysql_fetch_array($resIP))
      {
        $ipHits = ip2long($hitsIP["ip"]) ;
        $ipHitsHits = $hitsIP["hits"] ;
        $reussite = 0 ;
        for($i = 0 ; $i < count($countries) ; $i++)
        {
            $ipMaskStart = ip2long($hitsPays[$countries[$i]][0]) ;
            $ipMaskEnd = ip2long($hitsPays[$countries[$i]][1]) ;
    
            if($ipHits >= $ipMaskStart && $ipHits <= $ipMaskEnd)
            {
              $totalRepartition[$i] = $totalRepartition[$i]+$ipHitsHits ;
              $reussite = 1 ;
              break ;
            }
        }
    
        if($reussite == 0)
        {
          $msgFin .= "unregistered IP : ".$hitsIP["ip"]." : $ipHitsHits hits\n" ;
        }
      }
    
    //S'il y a un ou plusieurs IPS non inscrits, le script doit recalculer le comptage total de l'IPS enregistré.
      if($msgFin != "")
      {
        $IPDetectees = 0 ;
        for($i = 0 ; $i < count($countries) ; $i++)
        {
          $IPDetectees += $totalRepartition[$i] ;
        }
      }
    
    //S'il y avait un IP non inscrit, le script l'ajoutera à la notation et au graphique également.
      if($msgFin != "")
      {
        $msgFin .= "Year ".date("Y")."\nUnknown : ".($totalHits-$IPDetectees)." hits (".round(100*($totalHits-$IPDetectees)/$totalHitsAirbusPeople,2)." %)\n" ;  }
      else
      {
        $msgFin = "Year ".date("Y")."\nNo unregistered IPs\n" ;
      }
    C'est de la partie en rouge que vient l'erreur...

    Please
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $totalHits=20;
    $IPDetectees=10;
    $totalHitsAirbusPeople=30;
     $msgFin = "Year ".date("Y")."\nUnknown : ".($totalHits-$IPDetectees)." hits (".round(100*($totalHits-$IPDetectees)/$totalHitsAirbusPeople,2)." %)\n" ;  
     echo $msgFin;
    ce test marche très bien chez moi tu doit donc avoir une variable nulle..
    Stay in Bed .. Save Energy

  3. #3
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    En faites j'ai compris c'est dans ma requête qu'il y avait un problème, elle récupérée par le total alors j'ai fait :

    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
    //Cette requête renvoie le comptage total des hits des IP dans la base de données. 
      $totalIP=("select sum(count) as total from LogsTableIP") ;
      $resTotal=mysql_query($totalIP) or die('Erreur SQL !<br>'.$totalIP.'<br>'.mysql_error());
      $totalHits=mysql_fetch_array($resTotal);
    ...
    ...
    ...
    //S'il y avait un IP non inscrit, le script l'ajoutera à la notation et au graphique également.
      if($msgFin != "")
      {
        $msgFin .= "Year ".date("Y")."\nUnknown : ".($totalHits["total"]-$IPDetectees)." hits (".round(100*($totalHits["total"]-$IPDetectees)/$totalHits["total"],2)." %)\n" ;
      }
      else
      {
        $msgFin = "Year ".date("Y")."\nNo unregistered IPs\n" ;
      }
    Voilà donc résolu mais merci de ton aide !!!

    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/08/2013, 11h53
  2. Réponses: 6
    Dernier message: 15/05/2013, 13h06
  3. [PHP 5.2] Fatal error: Unsupported operand types
    Par ju0123456789 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2010, 18h07
  4. Réponses: 2
    Dernier message: 25/03/2009, 21h40
  5. [PEAR][DB] Unsupported operand types in Renderer.php
    Par brissou dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/05/2007, 13h50

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