[PHP/MySQL] Problème d'accès incompréhensible

Résolu
Tsukaniki -  
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   -
J'ai une erreur qui m'énerve un peu...
"mysql_connect(): Accès refusé pour l'utilisateur: 'root'@'@localhost'"
C'est "classique" mais un truc me chiffonne quand même...
J'ai créé une fonction pour me simplifier mes dialogues avec la base de donnée :
function connect_bdd() {
         global $host,$login,$motdepasse,$bdd ;
         mysql_connect($host,$login,$motdepasse) ;
         mysql_select_db($bdd);
}

Cette fonction est dans un fichier qui est inclu dans chacune de mes pages, y compris celle où j'ai l'erreur.

J'appel la fonction connect_bdd() dans un switch, et c'est donc lors d'un de ces appel que j'ai le message d'erreur...
Le truc, c'est que les autres appels fonctionnent...

Voilà pourquoi je ne comprends pas trop cette erreur :/

Si quelqu'un peut m'aider... Merci

PS : Si je copie les fonctions classiques dans le switch (mysql_connect() etc...) ça marche ...
A voir également:

4 réponses

Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Fais voir ton switch...
0
cestadire.ch Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   31
 
c'est un peu bizarre les deux "@", non ?
Elle vaut quoi ta variable $host ?
0
Tsukaniki Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Les deux @ sont un peut bisar oui, mais je ne vois pas d'où ça vient...
// Variables de Base de donnée :
$host = "localhost";
$login = "root" ;
$motdepasse = "" ;
$bdd = "test" ;

Voilà pour mes variables... (comme je l'ai dit, la connection marche sans aucun problème pour les autres appels)

et mon switch :

switch ($_GET['page']) {
               case "livredor":
                    if (isset($_POST['pseudo']) && isset($_POST['message'])
                       && $_POST['pseudo'] != NULL && $_POST['message'] != NULL) { 
                          $message = addslashes(htmlentities($_POST['message'])); 
                          $pseudo = addslashes(htmlentities($_POST['pseudo'])); 
                          connect_bdd(); 
                          $date = date("Y-m-d") ;
                          $heure = date("H:i:s") ;
                          if (isset($_POST['email']) && $_POST['email'] != NULL) { $email = $_POST['email'] ; } else { $email = "" ; }
                          if (isset($_POST['pageperso']) && $_POST['pageperso'] != NULL) { $pageperso = $_POST['pageperso'] ; } else { $pageperso = "" ; }
                          $sql = "INSERT INTO livredor (pseudo,email,pageperso,message,ladate,heure) VALUES ('$pseudo','$email','$pageperso','$message','$date','$heure')" ;
                          $rep = mysql_query($sql) or die(mysql_error());
                          deco_bdd() ;
                       }
                       break;
               case "login":
                    if (isset($_POST['pseudo']) && isset($_POST['motdepasse'])
                       && $_POST['pseudo'] != NULL && $_POST['motdepasse'] != NULL) {
                          $pseudo = addslashes(htmlentities($_POST['pseudo'])) ;
                          $motdepasse = addslashes(htmlentities($_POST['motdepasse'])) ;
                          connect_bdd();
                          $sql = "SELECT * FROM kami_users WHERE (pseudo = \"$pseudo\")" ;
                          $reponse = mysql_query($sql) or die(mysql_error()) ;
                          $donnees = mysql_fetch_array($reponse) ;
                          deco_bdd();
                          if (addslashes(htmlentities($donnees['motdepasse'])) == $motdepasse) {
                             $_SESSION['user'] = $pseudo ;
                             $_SESSION['admin'] = $donnees['admin'] ;
                             // $_SESSION['email'] = $donnees['email'] ;
                             $redirect = 'login.php?login=success' ; // Login OK
                          } else {
                            $redirect = 'login.php?login=fail' ; // Login echoué
                          }
                       }
                    break ;
               case "minichat":
                    if (isset($_POST['pseudo']) && isset($_POST['message'])
                       && $_POST['pseudo'] != NULL && $_POST['message'] != NULL) {
                          $message = addslashes(htmlentities($_POST['message'])); 
                          $pseudo = addslashes(htmlentities($_POST['pseudo'])); 
                          connect_bdd(); 
                          $verif = mysql_query("SELECT * FROM minichat WHERE (pseudo = '$pseudo') ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
                          $verif2 = mysql_fetch_array($verif) ;
                          if ($verif2['message'] != $message) {
	                     $date = date("Y-m-d") ;
                             $heure = date("H:i:s") ;
                             $sql = "INSERT INTO minichat (pseudo,message,ladate,heure) VALUES ('$pseudo','$message','$date','$heure')" ;
                             $rep = mysql_query($sql) or die(mysql_error());
                          }
                          deco_bdd() ;
                       }
                    break ;
        }


Et voilà donc mon swith... L'utilisation que j'ai déjà pu tester, c'est le minichat (qui fonctionne parfaitement...).
J'ai essayé déjà de "déplacer" les case du switch, mais ça ne change rien...
J'ai aussi essayé sur un de mes comptes Free, j'ai la même erreur
0
Tsukaniki Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, bin c'est tout bête mais j'ai résolu le problème...
Ça venait tout bêtement d'un conflit de variables (j'aurai pas du les nomer avec un nom aussi générique...)

Merci à ceux qui m'ont répondu ^^
0
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
:-)
0