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 :

Problème Access denied [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Problème Access denied
    Bonjour,

    Déjà je tiens à prévenir que je ne suis pas habitué à poster sur les forums de développez.com et j'espère poster bien (en tout cas, je suis le manuel ^^).

    Comme le titre l'indique, j'ai un problème d'access denied sur un site en php5/javascript etc... que je suis en train de coder dans le cadre de mes études.

    Je vous met le premier message d'erreur affiché sur la page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_query() [function.mysql-query]: Access denied for user: 'apache@localhost' (Using password: NO)
    J'en ai quelques uns comme ça qui s'affichent, je vous épargne la liste complète vu qu'elles sont similaires.


    Je vous donne le code d'où part le problème (en rouge l'endroit pointé par le warning):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    		
    public function ajouteDansGroupeUtilisateur($nom, $login) {
    		$con = connect();
      		if (!$con) {
      			die('Impossible de se connecter à la base sql: ' . mysql_error());
      		}
      		mysql_select_db($this->database);
      		
      		$id = $this->getIdParLogin($login);   		
      		$query = "SELECT id FROM GroupeUtilisateur WHERE nom='".$nom."' AND id=".$id.";";
      		
      		$result = mysql_query($query);
      		
      		if (mysql_num_rows($result)>0) {
        		    mysql_close($con);
        		    header("Location: ./chercheUtilisateur.php?type=ajouteDansGroupeUtilisateur&nom=".$nom."&erreur=1");
        	        }
      		else {
        		    $query = "INSERT INTO GroupeUtilisateur (nom, id) VALUES ('".$nom."', ".$id.");";
      		    $result = mysql_query($query);
        		    if (!$result) {
        		        mysql_close($con);
          		        die('Requete ajouteDansGroupeUtilisateur invalide : ' . mysql_error());
          	            }  	
          	            else {
        			mysql_close($con);
          		        header("Location: ./chercheUtilisateur.php?type=ajouteDansGroupeUtilisateur&nom=".$nom."&succes=1");
          	            }
        	       }
    }
    et celui de la fonction connect() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function connect($host = "localhost", $user = "BonLogin", $pswd = "******") {
    	$con = mysql_connect($host,$user,$pswd);
    	return $con;
    }

    Je suis certain que mon login et le mot de passe sont bons, puisque tout une partie du site marche correctement. Pour chaque méthode de la classe où se trouve celle que j'ai donné ci-dessus, j'utilise la même fonction de connexion et ça marche.

    Il faut savoir aussi, que je test en local et que je n'ai aucun problème sur la totalité du site, alors que chez l'hébergeur seulement une partie du site marche...

    Je vous remercie d'avance si vous trouvez le pb ou même si vous m'aidez à le trouver.

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    essaie de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($query);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($query, $con);

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Si je remplace comme ça, j'obtiens un autre type de warning:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: mysql_query(): 5 is not a valid MySQL-Link resource
    sur la même ligne de code.

    Edit: En faisant un echo $con; juste avant le mysql_query(..)

    j'obtiens:


  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    ta connection n'est pas valide...

    tu devrais remplacer ta fonction connecter par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function connect($host = "localhost", $user = "BonLogin", $pswd = "******") {
    	$con = mysql_connect($host,$user,$pswd)) or return false;
    	return $con;
    }

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Ca ne change rien, il retourne toujours la même erreur chez l'hébergeur, et en local toujours aucune erreur.

    PS: Merci pour ton aide en tout cas ^^
    J'avoue que ce problème commence à me déséspérer, mais bon, faut que je persévère ! I will survive !

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je ne sais pas si ça pourra vous aider. Mais une autre méthode de la classe et qui marche est la suivante:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public function supprimeDuGroupe($nom, $id, $type) {
    		$con = connect();
      		if (!$con) {
      			die('Impossible de se connecter à la base sql: ' . mysql_error());
      		}
     
      		mysql_select_db($this->database);
      		$query = "DELETE FROM GroupeUtilisateur WHERE nom='".$nom."' AND id=".$id.";";
      		$result = mysql_query($query);
      		if (!$result) {
        		       mysql_close($con);
        		       die('Requete supprimeDuGroupe invalide : ' . mysql_error());
        	        }  	
        	        else {
        		       mysql_close($con);
        		       header("Location: ../".$type.".php?nom=".$nom."&succes=1");
        	        }
    }
    Je suis super perplexe. Je ne vois pas de différence sur la façon de faire et pourtant supprimer un utilisateur d'un groupe d'utilisateur ca marche.

    J'ai fais des "echo" de toutes les variables de l'autre méthode et elles sont comme elles devraient l'être. Je ne sais pas quoi vous dire de plus pour vous aider (à m'aider ). Je continue biensûr de chercher dans mon coin.

    Merci encore pour toute l'aide que vous pourrez apporter et pour les idées aussi farfelues soient-elles.

  7. #7
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    c'est pas un problème au niveau de la requête?

    et tu as mis un ";" de trop dans ta requete
    "SELECT id FROM GroupeUtilisateur WHERE nom='".$nom."' AND id='".$id."'";

    essaye de tester ta requete..

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Le ; est pour la requête sql, mais effectivement ca marche aussi sans (ayant fais du sql pur je ne savais pas)

    En tout cas, avec ou sans le ; ca donne le même résultat (malheureusement :'()

    Edit: J'ai vérifié pour la requête et le nom de la table et des attributs sont bon. Quand j'affiche la valeur de $id et de $nom ils sont bon aussi.

  9. #9
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    J'ai mis 3 jours mais j'ai trouvé mon problème ^^

    Le problème venait de la méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id = $this->getIdParLogin($login);
    dans cette méthode je recréais une connexion à la base de données et une fois le travail effectué je fermais cette connexion. Ce qui devait aussi fermer la connexion ouverte dans la méthode ajouteDansGroupeUtilisateur. D'où le problème.

    Merci à Swoög et oceane751 pour votre aide
    a+

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

Discussions similaires

  1. Problème "Access denied" lors de l'accès à la console d'admin
    Par Etienne25 dans le forum Glassfish et Payara
    Réponses: 5
    Dernier message: 30/10/2011, 11h10
  2. Problème "Access is denied"
    Par cmail dans le forum IGN API Géoportail
    Réponses: 10
    Dernier message: 28/03/2010, 13h14
  3. access denied :: problème de threads?
    Par lemilig dans le forum Outils
    Réponses: 2
    Dernier message: 18/04/2007, 14h01
  4. Problème access denied sur GRANT
    Par richard038 dans le forum Administration
    Réponses: 2
    Dernier message: 19/07/2006, 12h32

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