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

Résolu/Fermé
Tsukaniki - 14 juin 2006 à 04:15
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 14 juin 2006 à 14:39
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 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 269
14 juin 2006 à 09:07
Fais voir ton switch...
0
cestadire.ch Messages postés 82 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 27 septembre 2006 31
14 juin 2006 à 09:16
c'est un peu bizarre les deux "@", non ?
Elle vaut quoi ta variable $host ?
0
Tsukaniki Messages postés 9 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 11 décembre 2007
14 juin 2006 à 13:44
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 mercredi 14 juin 2006 Statut Membre Dernière intervention 11 décembre 2007
14 juin 2006 à 14:37
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 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 269
14 juin 2006 à 14:39
:-)
0