Fetch array gros probleme

Bonjour,
Voila j'ai un gros probleme :S

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a6881409/public_html/config/info.php on line 33

<html>
<head>
<script type="text/javascript">
function afficheHorloge()
{
var date = new Date();
hh = date.getHours();
mm = date.getMinutes();
mm = mm<10?"0"+mm:mm;
ss = date.getSeconds();
ss = ss<10?"0"+ss:ss;
document.getElementById("horloge").firstChild.data = hh+":"+mm+":"+ss;
setTimeout(afficheHorloge,1000);
}
</script>
<style type="text/css">
#f1Horloge {text-align: center;}
#f1Horloge div {text-align: center; }

</style>
</head>

<body onLoad="afficheHorloge()">
<?php
// Connexion à MySQL
require_once("config/config.php");
mysql_select_db($site,$connexion);

// -------
// ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_array($retour);

if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
{
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}
else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
{
mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}

// -------
// ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
Ici ==> $donnees = mysql_fetch_array($retour);

// Ouf ! On n'a plus qu'à afficher le nombre de connectés !
echo '<p align="center">' . $donnees['nbre_entrees'] . ' Visite !</p>';

// Enregistrons les informations de date dans des variables

$jour = date("d");
$mois = date("m");
$annee = date("Y");
// Maintenant on peut afficher ce qu'on a recueilli
echo "<p align='center'>$jour/$mois/$annee </p>";
?>
<div id="f1Horloge">
<div id="horloge"> </div>
</div>
</body>
</html>

Si vous saviez m'aider merci d'avance
Configuration: Windows XP / Internet Explorer 8.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Premier réflexe quand on a des erreurs de ce type : rajouter des or die (mysql_error()) après tes mysql_query pour avoir plus d'infos sur ton erreur SQL.

    Exemple : mysql_query($rqt) or die (mysql_error());
    1. merci je l'avais fait mais je vais recommencer et t'envoiyer l'erreur que je reçois.
      1. <html>
        <head>
        <script type="text/javascript">
        function afficheHorloge()
        {
        var date = new Date();
        hh = date.getHours();
        mm = date.getMinutes();
        mm = mm<10?"0"+mm:mm;
        ss = date.getSeconds();
        ss = ss<10?"0"+ss:ss;
        document.getElementById("horloge").firstChild.data = hh+":"+mm+":"+ss;
        setTimeout(afficheHorloge,1000);
        }
        </script>
        <style type="text/css">
        #f1Horloge {text-align: center;}
        #f1Horloge div {text-align: center; }

        </style>
        </head>

        <body onLoad="afficheHorloge()">
        <?php
        // Connexion à MySQL
        require_once("config/config.php");
        mysql_select_db($site,$connexion);

        // -------
        // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
        // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
        $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
        $donnees = mysql_fetch_array($retour); or die (mysql_error());

        if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
        {
        mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
        }
        else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
        {
        mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
        }

        // -------
        // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
        $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
        $donnees = mysql_fetch_array($retour);

        // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
        echo '<p align="center">' . $donnees['nbre_entrees'] . ' Visite !</p>';

        // Enregistrons les informations de date dans des variables

        $jour = date("d");
        $mois = date("m");
        $annee = date("Y");
        // Maintenant on peut afficher ce qu'on a recueilli
        echo "<p align='center'>$jour/$mois/$annee </p>";
        ?>
        <div id="f1Horloge">
        <div id="horloge"> </div>
        </div>
        </body>
        </html>

        voila l'erreur :
        Parse error: syntax error, unexpected T_LOGICAL_OR in /home/a6881409/public_html/config/info.php on line 33