Erreur Bizzare

Signaler
Messages postés
374
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Salut, voilà, je viens de changer d'hébergeur, j'étais chez OVH, je suis passe chez 1&1.
J'ai une base de donnée avec plus de 75 000 lignes.

Quand j'étais chez ovh, ca marchais très bien, je suis passé chez 1&1, je créer ma table, je commence a inserer mes lignes. Arrivé environ vers la 25 000 eme ligne, des que je vais sur la page d'accueil du site, c'est tout blanc avec ce message: MySQL client ran out of memory

Je ne sais pas comment faire. C'est comme si la mémoire était pleine alors que ma base peux supporter jusqu'a 100 Mb, et là je suis a peine à 10.72, il me reste donc 89,28

Quelqu'un a la solution svp????

VestaX

5 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

C'est un problème de configuration du serveur/limitation matérielle. Tu dois faire une requête plutot complexe pour en arrivé la par contre.

La seule solution est de changer ta requête ou de contacter 1and1 (Ils sont la pour ça après tout).
Sinon tu peux trouver pas mal d'infos sur la doc de mysql http://dev.mysql.com/doc/refman/5.0/en/out-of-memory.html

Ou encore sur google (Aaaaah Google, qu'est-ce qu'on ferait sans toi )

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
374
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

merci yoman64 pour ta réponse. Ma requete n'est pas complexe, c'est juste une recherche multicritères. Quand j'étais chez ovh ca marchait. j'espere vraiment que 1&1 pourront faire quelque chose.


Sinon, j'ai fouillé sur google, j'ai trouvé ca:



"Notez que cette erreur parle du client MySQL client
mysql
. La raison de cette erreur est simplement que le client n'a pas la mémoire suffisante pour stocker le résultat en entier.



Pour remédier à ce problème, vérifiez d'abord que votre requête est correcte. Est-ce normal qu'elle retourne autant de lignes? Si oui, vous pouvez utiliser
mysql --quick
, qui utilise
mysql_use_result()
pour récupérer les résultats. Cela sollicitera moins le client (mais plus le serveur). "

Mais bon, quand ils disent remplacer mysql_use_result()  par --quick là je n'y comprends rien. Car a aucun endroit de mes pages j'ai mysql_use_result()

Bref, j'espere que 1&1 pourront remedier a ce probleme. Vu le prix que je paye, je leurs ai pris l'abonnement le plus cher.


VestaX
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

essaye avec mysql_unbuffered_query().
mysql_use_result() qui fait partie de l'API mysql est présent dans l'extension php mysqli, et pas dans l'extension php mysql.
Messages postés
374
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

merci malalam, mais c'est ce que je disais, a aucun endroit j'utilise mysql_use_result(), donc je veux bien utiliser mysql_unbuffered_query(), mais je dois placer ca ou? et ca sert a quoi?

VestaX
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Tu ne peux pas utiliser mysql_use_result(), ça n'existe pas en php.
Tu le mets à la place de mysql_query().
ca sert à la même chose que mysql_use_result() de l'api mysql, peu ou prou.