Warning: mysql_fetch_array()
legolasfr
-
NookZ Messages postés 2376 Statut Membre -
NookZ Messages postés 2376 Statut Membre -
Bonjour,voici mon problème je viens d'installer mon site tout fonctionne bien sauf qu'il s'affiche sa je suis un peu nul en programmation et j'aurais besoin de votre aide voici mes erreurs :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 14
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 35
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 38
et voici le fichier :
<?php
require("config.php");
$ip = $_SERVER['REMOTE_ADDR'];
$account = $_SESSION['username'];
$time = time();
mysql_select_db($sitewoo,$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='$ip'");
$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('$ip','$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='$ip'");
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
// -------
// 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);
$retour2 = mysql_query('SELECT COUNT(*) AS nbre_invite FROM connectes');
$donnees2 = mysql_fetch_array($retour2);
// Ouf ! On n'a plus qu'à afficher le nombre de connectés !
echo 'Il y a ' . $donnees['nbre_entrees'] . ' visiteur(s) <br>sur le site !';
?>
Voila pouvez vous m'aider au plus vite je vous en remercie par avance
Cordialement, legolasfr
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 14
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 35
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\kernel\connectes.php on line 38
et voici le fichier :
<?php
require("config.php");
$ip = $_SERVER['REMOTE_ADDR'];
$account = $_SESSION['username'];
$time = time();
mysql_select_db($sitewoo,$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='$ip'");
$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('$ip','$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='$ip'");
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
// -------
// 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);
$retour2 = mysql_query('SELECT COUNT(*) AS nbre_invite FROM connectes');
$donnees2 = mysql_fetch_array($retour2);
// Ouf ! On n'a plus qu'à afficher le nombre de connectés !
echo 'Il y a ' . $donnees['nbre_entrees'] . ' visiteur(s) <br>sur le site !';
?>
Voila pouvez vous m'aider au plus vite je vous en remercie par avance
Cordialement, legolasfr
A voir également:
- Warning: mysql_fetch_array()
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Symbole warning word ✓ - Forum Word
- Cpu fan fail warning control - Forum Matériel & Système
- Comment faire le symbole attention ✓ - Forum Loisirs / Divertissements
1 réponse
Faites les modifs suivantes pour connaître plus précisément la raison du problème :
mysql_select_db($sitewoo,$connexion) or die("erreur de connexion".mysql_error());
// -------
// 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='$ip'") or die("erreur dans la requête".mysql_error());;
$donnees = mysql_fetch_array($retour);
mysql_select_db($sitewoo,$connexion) or die("erreur de connexion".mysql_error());
// -------
// 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='$ip'") or die("erreur dans la requête".mysql_error());;
$donnees = mysql_fetch_array($retour);