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

PHP & Base de données Discussion :

MySQL - Warning, Access denied for user


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut MySQL - Warning, Access denied for user
    Bonjour,

    J'ai un étrange problème et j'aimerais avoir de l'aide.

    J'ai créé une page qui enregistre des action dans une table MySQL. Ma page roule avec PHP.

    Ces actions sont enregistrées dans la DB et tout va bien. Mais quelquefois, pour une raison que j'ignore présentement, j'ai des erreurs MySQL:

    Warning: mysql_connect(): Access denied for user username@localhost (using password: YES) in file....php

    De base je comprend que ce message m'indique que la connexion ne s'est pas faite. Et on dirait que le username/password n'est pas bon. Mais pourtant 99% du temps tout est beau... quelquefois j'ai ce message qui apparaît. J'ai une seule fonction de connexion sur MySQL que j'utilise. Le bug arrive au moment que je fais un INSERT INTO.

    J'aimerais avoir des indices pour comprendre où je pourrais commencer ma recherche afin de comprendre pkoi ce message d'erreur apparaît des fois.
    Est-ce que je devrais utiliser mysqli?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Le message te dis que le mot de passe et login sont erroné.
    Mauvais pass ou mauvais login.

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Citation Envoyé par lemirandais Voir le message
    Le message te dis que le mot de passe et login sont erroné.
    Mauvais pass ou mauvais login.
    Effectivement...
    Mais pourquoi cela arrive dans seulement 1% des cas.
    Si je refais exactement les mêmes action, en appelant la même fonction, qui contient les bonnes infos de username+password, je n'ai pas ce message. Il apparaît seulement quelquefois.

    Est-il possible que ce message apparaît si mon serveur MySQL est trop occupé...

    Ou vraiment la seule possibilité est que qqpart dans mon code il a de quoi de tout croche et j'ai cette erreur tout simplement.

  4. #4
    Membre éprouvé Avatar de vrd-74
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 76
    Par défaut
    Bonjour

    L'erreur intervient systématiquement lors d'un INSERT, ou des INSERT fonctionnent avec cet utilisateur ? Si non, cela veut dire que l'utilisateur n'a pas les droits d'insertion dans la base, ce code réglera alors le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT INSERT, UPDATE, DELETE ON TABLE nom_de_la_table TO nom_utilisateur
    Dans le cas contraire, la connexion est bien refermée après utilisation ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    hmmmm, intéressant.

    Effectivement pour ce INSERT j'avais oublié la fermeture de la connexion... Je viens de l'ajouter et je vais vérifier si le problème survient une fois de plus.

    Merci de l'aide, je vais garder un oeil sur cela.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Effectivement pour ce INSERT j'avais oublié la fermeture de la connexion...
    Ce n'est pas nécessaire de fermer la connexion.
    Regarde plutôt si tu n'aurais pas justement fermé la connexion soit par erreur, ou alors que tu l'a fermée mais oublié de la ré-ouvrir.

    Si on lit la doc de Php, il est dit que MySQL gère automatiquement la fermeture de la Bdd, donc à quoi bon fermer/ouvrir sans cesse.


    Il serait peut être bon de mettre un peu de code, au moins la partie concernée, peut être verra t-on une erreur, ou l'erreur en question.
    Sans code, tout ceci restera un peu vague.

  7. #7
    Membre éprouvé Avatar de vrd-74
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 76
    Par défaut
    J'ai lu trop rapidement, je pensais qu'il s'agissait d'une connexion persistante.
    Dans ce cas il n'est effectivement pas nécessaire de fermer la connexion puisqu'elle est libérée à la fin du script.

    Mais un extrait de code serait effectivement le bienvenu.

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Effectivement,
    Il faudrait que j'écrive le code un peu dans ce post pour aider. Habituellement je le fais. C'est juste que ma connexion utilise des classes et c'est du "ajax" qui fait l'appel. C'est un peu compliqué à mettre correctement.
    Je vais essayé de vous donner un peu de viande aujourd'hui.

    Merci de l'aide.

  9. #9
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par Rollois
    Je vais essayé de vous donner un peu de viande aujourd'hui.
    Et pour ceux qui seraient végétariens, tu leur sert de la soupe à la place ?

    Vu l'expression, faut s'attendre à tout on dirait.

  10. #10
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Juste pour vous dire que je suis encore vivant et que pour l'instant le seul changement que j'ai apporté c'est de m'assurer que la connection soit toujours fermé correctement.
    J'ai pas eu d'autre bug.
    Je sais que c'est peut-être pas ça la solution, mais je vais laisser rouler le tout et voir comment ça va.

    Sinon je viendrai mettre la "viande" ici pour qu'on puisse discuter de mon code.

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Ton soucis m'était arrivé, la solution que j'avais fait, était de tester sur un autre pc qui n'avait pas la même version de easyphp.
    Mais il me semble qu'un vieux prof de programmation php m'avait dit qu'il arrivait que sur différentes versions d'émulateur web (easyphp, wamp....), il pouvait y avoir des bugs si l'on ne fermait pas la connection à la base de donnée.

    Bon courage.
    lemirandais

  12. #12
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    logger mysql_error() t'aurait vraiment dépatouillé dans cette histoire!

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    plus précisément or_die(mysql_error());

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/07/2012, 13h28
  2. [MySQL] Petit souci de connexion à MySQL : Access denied for user 'root'@'localhost'
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/11/2011, 17h27
  3. Réponses: 2
    Dernier message: 21/10/2006, 16h32
  4. #1045 - Access denied for user 'root'@'localhost'
    Par BRAUKRIS dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 13h23
  5. Réponses: 3
    Dernier message: 14/01/2006, 18h09

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