PhP erreur Mysql
Résolu
yunamdr
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Tryphon71 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Tryphon71 Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
j'ai uns ite internet qui est actuellement en construction et j'ai entrepris de faire un compteur de visiteurs par jours.
Malheureusement je reçois une erreur de php :Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a5265329/public_html/compteur.php on line 8
voici mon code php
merci d'avance pour vos réponse :)
j'ai uns ite internet qui est actuellement en construction et j'ai entrepris de faire un compteur de visiteurs par jours.
Malheureusement je reçois une erreur de php :Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a5265329/public_html/compteur.php on line 8
voici mon code php
<?php include ('connexion_bdd.php'); // 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) // si ip n'est pas dans la table, on l'ajoute. { mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')'); } else // ip déja présente, on met juste à jour le timestamp (temp entre les deux derniers chargements de page) { mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); } // on supprime toutes les entrées dont le timestamp est plus vieux que 1 jour // On stocke dans une variable le timestamp qu'il était il y a 1 jour : $timestamp_5min = time() - (86400); // 3600*24 = nombre de secondes écoulées en 1 jour mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min); // 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); // affichage du nombre de connectés ! echo '<p>' . $donnees['nbre_entrees'] . ' visiteurs aujourd\'hui</p>'; ?>
merci d'avance pour vos réponse :)
A voir également:
- PhP erreur Mysql
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Iptv erreur de lecture - Forum TV & Vidéo
10 réponses
C'est une erreur quand tu as changé les noms pour poster le dump, les doubles guillemets dans :
'"nom de table' ?
Si oui enleve les en recreant ta table avec le nom sans le double guillemet .
Ou alors quand tu fait ta requete met "devant connectes.
'"nom de table' ?
Si oui enleve les en recreant ta table avec le nom sans le double guillemet .
Ou alors quand tu fait ta requete met "devant connectes.
et si tu ajoutes cela à ta ligne mysql_query: or die(print_r($bdd->errorInfo()));
soit
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' .
$_SERVER['REMOTE_ADDR'] . '\'') or die(print_r($bdd->errorInfo()));
est ce que le message d'erreur est plus précis?
soit
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' .
$_SERVER['REMOTE_ADDR'] . '\'') or die(print_r($bdd->errorInfo()));
est ce que le message d'erreur est plus précis?
maintenant il me met avec ce code
Fatal error: Call to a member function errorInfo() on a non-object in /home/a5265329/public_html/compteur.php on line 9
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'') or die(print_r($bdd->errorInfo())); $donnees = mysql_fetch_array($retour);
Fatal error: Call to a member function errorInfo() on a non-object in /home/a5265329/public_html/compteur.php on line 9
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
:) merci de répondre aussi vite à mes questions :)
alors après implémentation de ton code j'obtient le message d'erreur
pourtant cette base de donnée existe bien et la table existe aussi.
Les informations avec mon code de connexion à la bdd correspondent
exactement
alors après implémentation de ton code j'obtient le message d'erreur
Table 'database.nom de la table' doesn't exist
pourtant cette base de donnée existe bien et la table existe aussi.
Les informations avec mon code de connexion à la bdd correspondent
exactement
<?php // Connexion à MySQL mysql_connect('host', 'user', 'mdp'); mysql_select_db(database'); ?>
Euhhhh
mysql_connect('host', 'user', 'mdp');
Sa correspond a tes valeurs de connexion ou ce sont des variables ? si ce sont des variables il me semble qu'il te manque le '$' avant celles-ci et il ne faut pas les mettre en quote.
Rajoute des or die de la meme facon à la suite de mysql_connect et mysql_select_db....
D'ailleurs je viens de voir, sur ta ligne mysql_select_db(database');
il te manque une simple quote
mysql_connect('host', 'user', 'mdp');
Sa correspond a tes valeurs de connexion ou ce sont des variables ? si ce sont des variables il me semble qu'il te manque le '$' avant celles-ci et il ne faut pas les mettre en quote.
Rajoute des or die de la meme facon à la suite de mysql_connect et mysql_select_db....
D'ailleurs je viens de voir, sur ta ligne mysql_select_db(database');
il te manque une simple quote
mysql_select_db('database');
ok ok sa te renvoie cette erreur pour toutes tes requêtes ?
Si oui, poste un dump de ta base stp.
Autrement, tu ajoute un texte différent dans chaque or die(mysql_error()); pour cibler quelle requete te pose soucis :
Et tu poste le code et la requete qui provoque l'erreur.
Si oui, poste un dump de ta base stp.
Autrement, tu ajoute un texte différent dans chaque or die(mysql_error()); pour cibler quelle requete te pose soucis :
or die(mysql_error()."Texte différent a chaque fois");
Et tu poste le code et la requete qui provoque l'erreur.
Re alors voila le dump de ma bdd
-- phpMyAdmin SQL Dump -- version 2.11.4 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: May 01, 2010 at 09:32 AM -- Server version: 5.0.67 -- PHP Version: 5.2.6 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: 'nom de la bdd'//j'ai changer le nom -- -- -------------------------------------------------------- -- -- Table structure for table '"nom de table'//j'ai changer le nom -- CREATE TABLE '"nom de table'//j'ai changer le nom ( 'ip' varchar(15) collate latin1_general_ci NOT NULL, 'timestamp' int(11) NOT NULL, PRIMARY KEY ('ip') ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; -- -- Dumping data for table '"nom de table'//j'ai changer le nom --