IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Impossible de se connecter aléatoire


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Points : 22
    Points
    22
    Par défaut Impossible de se connecter aléatoire
    Bonjour,

    J'ai un problème avec ma base de donnée, car après une longue suite de requete SELECT/INSERT/UPDATE, je reçois un message de "connection impossible a la base". Un refresh suffit alors a tout remettre en ordre. Puis ce message va ré-apparaitre. Je précise que tout le système fonctionne parfaitement bien, mis a part ce message aléatoire...

    Je n'arrive pas a comprendre cette erreur aléatoire. Y a t'il une charge maximale de requete par secondes ou ce genre de choses avec mySQL ? Si oui, comment l'augmenter ou temporiser le nombre de requete... Si non, connaissez vous ce problème ?

    Merci d'avance,

    Yannick

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    N'oublie pas de faire un mysql_close() en fin de script (c'est une bonne habitude à prendre...)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Si tu veux qu'on t'aide il nous faudrait plus de détails sur le contexte : serveur dédié ? mutualisé chez un hébergeur ? local, distant ?

    "connexion impossible à la base" n'est pas un message MySQL, d'où vient-il ? S'agit-il d'une application particulière ? Dans quel langage ? ...
    Pensez au bouton

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Points : 22
    Points
    22
    Par défaut Précision
    C'est vrai que j'ai tellement l'habitude de ce message maintenant, que j'ai oublié de précisé d'où il venait.

    Donc il vient de mysql_connect:

    mysql_connect($const_MySQL_Host, $const_MySQL_User, $const_MySQL_Password)

    En ce qui concerne le mysql_close, je le fait tout le temps après un connect, j'ai déjà vérifié cette piste. D'ailleurs, ce qui se passe est que j'ouvre le connection et la ferme pour chaque requete, est-ce que cela pourrait etre un début de réponse ? Ne voudrait il pas mieux ouvrir la connection une fois en haut de page, et la fermer en fin de page ?

    Cette erreur arrive aussi bien sur un easyphp/mysql sous windows, que sur un serveur Windows 2003 mutualisé. Maintenant, j'ai aussi essayé sur Linux, sans avoir le problème, mais comme cette erreur est très très aléatoire, je ne peux pas etre sur qu'elle n'arrive pas.

    Je le répète, cette erreur arrive uniquement lorsqu'un grand nombre de requete select/update/insert sont exécuté a la suite, puis disparait avec un petit coup de refresh... Je n'arrive pas a comprendre...

    Merci d'avance,

    Yannick

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Précision
    Citation Envoyé par yannickn
    En ce qui concerne le mysql_close, je le fait tout le temps après un connect, j'ai déjà vérifié cette piste. D'ailleurs, ce qui se passe est que j'ouvre le connection et la ferme pour chaque requete, est-ce que cela pourrait etre un début de réponse ?
    Carrément, oui !

    Citation Envoyé par yannickn
    Ne vaudrait il pas mieux ouvrir la connection une fois en haut de page, et la fermer en fin de page ?
    C'est exactement comme ça qu'il faut procéder !


    Comme le nom l'indique, mysql_close clôt la connection. Il faut donc en réouvrir une nouvelle. Cependant, il y a certains méchanismes qui font que PHP arrive à créer une nouvelle connection avec les paramètres de la dernière connection ouverte. De même, en fin de script, PHP clôt les connections qui n'ont pas été fermées avec mysql_close (il arrive cependant qu'il reste des connections "zombies" qui font qu'au bout d'un certain temps (très aléatoire) le serveur Apache est obligé de faire le ménage, mais ça se fait tout seul et ça dure une petite minute seulement...).

    Tous ces petits mécanismes rendent la programmation accessible aux débutants, mais contribue à la propagation de code de qualité très médiocre. Autant prendre des bonnes habitudes dès le départ et faire un mysql_connect au début et un mysql_close à la fin. C'est pourtant pas compliqué !
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut Re: Précision
    Citation Envoyé par yannickn
    Je le répète, cette erreur arrive uniquement lorsqu'un grand nombre de requete select/update/insert sont exécuté a la suite
    Combien ? Il se pourrait tout simplement que le serveur soit débordé ou que le nombre de connexions limite (max_connections) soit dépassé...
    Pensez au bouton

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Points : 22
    Points
    22
    Par défaut Résolu !
    Merci beaucoup pour votre aide. Le problème venait bien des connection / déconnec a chaque requete. J'ai maintenant remplacé cela par une connection en haut de page puis deconnec en bas de page.

    Merci beaucoup en tout cas.

    Yannick

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de me connecter à PhpPgAdmin
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 06/11/2007, 19h19
  2. [ postgresql] impossible de se connecter
    Par hocinema dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/07/2005, 11h10
  3. [Debutant]Impossible de se connecter au serveur local
    Par Kenji dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/04/2005, 19h55
  4. Impossible de se connecter avec aMSN
    Par Blowih dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 29/07/2004, 14h51
  5. [Connexion] impossible de se connecter autrement qu'en local
    Par sekiryou dans le forum Installation
    Réponses: 4
    Dernier message: 29/03/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo