Bourinho Posté 17 Mai 2006 Posté 17 Mai 2006 Bonjour à tous, mon niveau est plutot faible en HTML, PHP et SQL (je pense que vous allez vous en rendre compte dans la suite ). Voilà ce qui m'est arrivé : j'ai téléchargé EasyPHP et je l'ai installe et tout allait bien. J'ai voulu tester la commande de type mysql_query et donc je commence mon fichier php par: mysql_connect("localhost" "root",""); mysql_select_db("bdd"); car je n'ai pas mis de password sur ma base donnees. Et hop, ça marche pas... Bon, bah je me dis, mets un password bidon sur ta base sql et tu mets le même (pas completement bête quand meme le garçon...) et puis ca devrait marcher... Et bam, ça marche pas... Donc déjà, première question : Pourquoi???? Et là, seconde question (la chute arrive... ) : Quand j'essais d'accéder à ma base de données, j'ai un message d'erreur qui est le suivant : MySQL a répondu:Documentation #1045 - Accés refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) Comment puis-je retrouver mon accès à ma base de données??? Voilà, du coup, j'ai plus grand chose pour l'instant!!! Si quelqu'un avait les réponses à mes questions, je lui serait très reconnaissant d'avoir pitié d'un noob qu'essaie de se faire les dents (et qui vient de se les péter du coup... ) Par avance, merci... PS : Si y a un post ou y a une situation plus ridicule que celle là, pourriez vous me la donner pour satisfaire mon ego...
destroyedlolo Posté 17 Mai 2006 Posté 17 Mai 2006 (modifié) Peux etre une question con (ben ouai, je n'utilise que PostgreSQL ou Oracle) mais ... est-ce que le user Root existe dans ta database ? Modifié 17 Mai 2006 par destroyedlolo
Portekoi Posté 17 Mai 2006 Posté 17 Mai 2006 Bonjour, Par défaut,Root n'a pas de mot de passe car Easyphp est un environnement de test et non de production. Portekoi
Bourinho Posté 17 Mai 2006 Auteur Posté 17 Mai 2006 En fait, en cherchant un peu, il m'a dit d'aller dans config.inc.php et je lis ça: $cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port $cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket $cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket') $cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli') $cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection // (requires PHP >= 4.3.0) $cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings // (this user must have read-only $cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user" // and "mysql/db" tables). // The controluser is also // used for all relational // features (pmadb) $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = "123"; // MySQL password (only needed..) Oui, bon, le password, pour l'instant, c'est 123... .mais ça veut pas marcher quand même... Bref, c'est le fichier de base ou j'ai changé 'password'
Bourinho Posté 17 Mai 2006 Auteur Posté 17 Mai 2006 D'accord Portekoi...mais je fais comment moi maintenant??? Sinon, c'est pas très grave pour la base de données si elle est perdue...mais tu veux dire quon peut pas accéder à la base de données sur EasyPHP??? Merci pour vos réponse pour le moins rapides
xpatval Posté 17 Mai 2006 Posté 17 Mai 2006 Sinon, c'est pas très grave pour la base de données si elle est perdue...mais tu veux dire quon peut pas accéder à la base de données sur EasyPHP??? <{POST_SNAPBACK}> Si bien sur, et heureusement, sinon à quoi servirait Easyphp... En local et par défaut, il n'y a pas de password, la connexion à la base se fait sans !, et cela fonctionne très bien ainsi. Essaie avec cela....: <?php# Connect to the database$dbhost = "localhost";$dbuname = "root";$dbpass = "";$dbname = "nom-de-la-base"; $GLOBALS["db_connexion"]=@mysql_connect($dbhost,$dbuname,$dbpass) or die ("CONNEXION IMPOSSIBLE"); $GLOBALS["db"]=@mysql_select_db($dbname, $GLOBALS["db_connexion"]);?> Et j'utilise Easyphp depuis quelques années... xpatval
captain_torche Posté 17 Mai 2006 Posté 17 Mai 2006 Normalement, avec root et sans mdp, ça fonctionne (par défaut). Tu dois avoir une erreur ailleurs dans ton script de connexion. Notamment à cet endroit : mysql_select_db("bdd"); Tu avais bien une base de données du nom bdd ?
Bourinho Posté 17 Mai 2006 Auteur Posté 17 Mai 2006 CaptainTorche : bdd existait et existe toujours...mais je peux plus y accéder... Donc maintenant, j'ai des solutions pour accéder à ma base de donnée depuis EasyPHP...mais maintenant qu'il y a un code, c'est foutu??? Même avec PhpMyAdmin??? Si c'est possible, j'aimerais bien la récupérer... Et puis ça m'oblige à réinstaller EasyPHP maintenant, non?
Bourinho Posté 17 Mai 2006 Auteur Posté 17 Mai 2006 J'ai essayé et ça marche pas... Je vais le réinstaller je viens de retrouver une sauvegarde de ma base de données... Je pense que je ne referais pas la même erreur plus tard...et je vois qu'il me reste pas mal de truc à connaitre dans le domaine!!!! Merci et à une prochaine (bourde... )
captain_torche Posté 17 Mai 2006 Posté 17 Mai 2006 Sinon, ce qu'il faut(fallait) faire, c'est modifier les fichiers de conf de PhpMyAdmin, pour qu'ils renseignent le bon mdp, se connecter à MySQL, et re-modifier le mot de passe.
Bourinho Posté 18 Mai 2006 Auteur Posté 18 Mai 2006 Salut, je suis l'auteur de ce post et j'avance pas a pas... et je pense que pas mal de webmasters en herbe (pour ne pas dire en mousse... ) comme moi doivent suivre a peu près le même chemin que moi... J'ai utilsé la méthode citée plus haut: <?php# Connect to the database $dbhost = "localhost"; $dbuname = "root"; $dbpass = ""; $dbname = "nom-de-la-base"; $GLOBALS["db_connexion"]=@mysql_connect($dbhost,$dbuname,$dbpass) or die ("CONNEXION IMPOSSIBLE"); $GLOBALS["db"]=@mysql_select_db($dbname, $GLOBALS["db_connexion"]); ?> Alors, y a des trucs que je pige pas... 1)Pourquoi mettre des @ devant mysql_connect et mysql_select_db? 2)Pourquoi mettre le resultat de ces fonctions dans des variables globales? 3)Quelles sont les valeurs attendues de $GLOBALS["db_connexion"] et $GLOBALS["db"] ??? Pour moi, ça donne "Resource id #2" et "1", c'est bon signe??? 4)Et enfin, quand je mets : $reponse=mysql_query('SELECT COUNT(*) FROM membres WHERE Pseudo=$Pseudo');$donnees = mysql_fetch_array($reponse); il me renvoit : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\monsite\inscription.php alors que sur le net, j'ai vu plein d'exemples ou c'est censé marcher... Par avance, merci
petit-ourson Posté 18 Mai 2006 Posté 18 Mai 2006 (modifié) J'ai utilsé la méthode citée plus haut:Alors, y a des trucs que je pige pas... 1)Pourquoi mettre des @ devant mysql_connect et mysql_select_db? Pour ne pas voir les message d'erreur en cas d'erreur. 2)Pourquoi mettre le resultat de ces fonctions dans des variables globales? Pour pouvoir les utiliser n'importe où dans le code peut être. 3)Quelles sont les valeurs attendues de $GLOBALS["db_connexion"] et $GLOBALS["db"] ??? Pour moi, ça donne "Resource id #2" et "1", c'est bon signe??? Oui bon signe. 4)il me renvoit :Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\monsite\inscription.php alors que sur le net, j'ai vu plein d'exemples ou c'est censé marcher... Il y a une erreur dans ta requête. De plus, la façon dont tu as écrit ta requête, tu recherche le pseudo qui s'appelle "$pseudo". Il faut utiliser des double quote : " dans ton cas. Modifié 18 Mai 2006 par petit-ourson
xpatval Posté 18 Mai 2006 Posté 18 Mai 2006 L'ecriture de ta requête devrait plutôt ressembler à cela: $reponse=mysql_query("SELECT COUNT(*) FROM membres WHERE Pseudo = '". $Pseudo ."'");$donnees = mysql_fetch_array($reponse); Vive le forum... xpatval
captain_torche Posté 18 Mai 2006 Posté 18 Mai 2006 Quand ton texte est entouré de double-quotes ", il n'est pas nécessaire d'en sortir pour spécifier une variable, elle sera évaluée automatiquement.
Bourinho Posté 18 Mai 2006 Auteur Posté 18 Mai 2006 (modifié) Merci à tous, j'essaierai ça ce soir...(bah oui, je suis en Nouvelle Zélande... ) 13 min pour une réponse complète, le hub n'était pas très en forme cette fois ci...y a pas une garantie "Réponse en moins de dix minutes ou remboursé" sur ce forum??? Encore merci! Modifié 18 Mai 2006 par Bourinho
Anonymus Posté 18 Mai 2006 Posté 18 Mai 2006 Merci à tous, j'essaierai ça ce soir...(bah oui, je suis en Nouvelle Zélande... ) 13 min pour une réponse complète, le hub n'était pas très en forme cette fois ci...y a pas une garantie "Réponse en moins de dix minutes ou remboursé" sur ce forum??? Encore merci! <{POST_SNAPBACK}> Si, mais pour les personnes 'à domicile', seulement. On attendra que tu rentres, pour cela Pour le '$GLOBALS', ca permet d'utiliser les variables dans une fonction, sans avoir à spécifier, dans ses paramètres, que la bdd est ouverte
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant