Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 28/01/2010, 21h10   #1 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut Problème mysql fetch array

Bonjour,

Je débute un peu en developpement de site internet mais voila mon problème.

J'ai un site internet et depuis hier soir ou un collègue a fais 2-3 modifications sur les script, le site m'affiche plusieurs fois dans la journée le message suivant sur le site :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/qeenty/www/themes/emule/header.php on line 74

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/qeenty/www/themes/emule/header.php on line 85
User 'qeenty' has exceeded the 'max_questions' resource (current value: 36000)


Selon vous d'ou peut provenir le problème ? Un ami pensait à la page stats.php ou data.php.

Merci pour votre aide, je commence a perdre espoir là

A bientôt
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 21h18   #2 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Citation:
User 'qeenty' has exceeded the 'max_questions' resource (current value: 36000)
cela signifie que tu as depassé la limite de 36000 requête SELECT en une heure sur ta base de données ; le serveur bloque les nouvelles requêtes.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 21h21   #3 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

Oui je sait bien, mais cela me parait bizarre, il y a pas beaucoup de membre inscrit sur mon site.

Mon site est un PTP, les gens sont payer pour promouvoir une page, donc beaucoup utilise des Autosurf qui augmente le nombre de visite.

C'est peut-etre du a cela ?

Un des joueurs est un ''tricheurs'' qui affiche sa page de promotion de mon site pleins de fois sur une page vide.

Je pense que vue le nombre de visite qu'il a sur cette page, grâce à un proxy je suppose qui modifie l'ip, cela fait surement dépasser les 36'000 requetes.

Avez-vous une solution ? Pour bloquer l'affichage de la page de mon site, sur son site par exemple ?

Merci beaucoup d'avance
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 21h40   #4 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Je ne vois pas bien en quoi il triche : que les gens accèdent directement à ta page ou qu'ils y accedent a travers un autre site, ca revient au meme pour toi non ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 21h42   #5 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

Oui oui, sauf que sur mon site, nous autorisons 1ip/24h et lui a 1 visite toute les 3 secondes, et cela durant toute la journée donc cela doit surement faire surcharger les requetes non ?

Sinon vous avez une idée d'ou peut provenir le problème ? et surtout comment le résoudre ?

Merci beaucoup d'avance
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 22h11   #6 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Si cet utilisateur ne respecte pas les règles, banni le ; mais tu ne pourras pas empecher des ip différentes de se connecter sur ton site.
Enfin 36000 ip différente je trouve ca quand meme enorme a obtenir.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 22h18   #7 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

J'ai déjà banni ce membre mais cela ne l'empeche pas d'afficher la page et de faire sur-sauter le site.

Enfaite je viens de voir que les erreurs que le site me donne sur presque toute les pages ce trouve a la ligne ou il y a marquer : mysql_fetch_array

Vous savez d'ou peut provenir le problème ?
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 23h46   #8 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Oui je te l'ai dit :
Citation:
tu as depassé la limite de 36000 requête SELECT en une heure sur ta base de données ; le serveur bloque les nouvelles requêtes.
Si ses connexions se font par son site, tu pourrais essayer de le bloquer en controlant la valeur de $_SERVER['HTTP_REFERER'].
Je dis "pourrais" car je ne sais si quand une page est incluse, $_SERVER['HTTP_REFERER'] donne la page appellante ou la page incluse.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 07h48   #9 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

Sinon, j'ai peut-etre trouver une solution.

En gros, un gros nombre de requetes est faite, probablement à cause du tricheurs qui affiche la page plusieurs fois par secondes sur une page vide.

Je n'arrive pas a contacter ce membre, je peut donc copier le script de la page de promotion, et refaire une page qui aulieu de s'appeler ''promote.php'' s'appelera par exemple ''promote_1.php'' ce qui fera que le membre aura une page qui n'existe plu sur sa page.

Cela serait une solution provisoire, mon ami qui s'occupe principalement du site doit avoir internet de nouveau dans quelque jours il pourra donc trouver une meilleure solution.

Cette solution vous parait bien ?

Merci d'avance pour votre aide
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 08h35   #10 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Si tu deplaces la page, comment tous les autres participants vont pouvoir y accéder ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 10h41   #11 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

En gros, je déplace pas la page, je la renomme. Donc le membre qui a afficher sur son site la page promote.php correspondra a rien, alors que depuis le site, la page sera promote_1.php.

Les membres du site devront juste modifier le nom de la page de promotion qu'il utilise sur des autosurfs.

Enfaite le membre qui triche a un ''faux site'' qui affiche automatique plusieurs fois la page de différents site de PTP (Payer-pour-promouvoir) sans y retourner. Sa page n'a pas été visiter depuis 10jours donc il ne se rendra pas compte que la page n'existe plus.

Que pensez-vous de cette solution ? En attendant que mon ami informaticien arrive, je voit que cela comme solution, j'ai chercher mais rien trouver d'autre.
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 11h47   #12 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

Alors, y'a du nouveau ^^

J'ai contacter l'hebergeur du site gratuit que le tricheurs utilisait, il a fermer le site du tricheurs donc il n'affiche plus la page de mon PTP sur son site, mais le problème continue donc ce n'était pas du a cela ^^

Voila le message que j'ai sur certaine page :

Erreur SQL !
select * from membres_tbl where login='qeenty'
User 'qeenty' has exceeded the 'max_questions' resource (current value: 36000)

Je ne comprend pas comment je peut dépasser les 36'000 requête avec le peu de membres qu'il y a sur le site.

Auriez-vous une solution ou un conseil ?

Merci beaucoup d'avance
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 14h27   #13 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Il faudrait que log tes requêtes SELECT pour voir ce qui se passe.

exemple tout simple d'une fonction pour enregistrer la date, l'ip et la requête
Code :
 
// fonction
function log_sql($sql) {
$fp = fopen('log.txt', 'a+');
$ligne = date('d/m/Y H:i:s') . '  ' . $_SERVER["REMOTE_ADDR"] . ' : ' . $sql . "\r\n"
fwrite($fp, $sql . "\r\n");
fclose($fp);
}
 
$sql = "SELECT blablabla";
// log de la requête
log_sql($sql);
mysql_query($sql);
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 14h37   #14 (permalink)
Invité régulier
 
Nom : mikael schaub
Date d'inscription: janvier 2010
Messages: 11
Par défaut

Je regarderai ce soir alors.

Et enfaite, une amie m'a dit que c'était peut-etre du à la ShoutBox (chat) que j'ai installer il y a quelque jours, vous pensez que cela peut être sa ?

merci d'avance
qeenty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/01/2010, 15h31   #15 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 9 949
Par défaut

Tout ce qui fait plein de requêtes participe à ton problème évidemment.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 00h24.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.