problème pour lire ma base de données, PROBLEME REGLE ;) - PHP - Programmation
Marsh Posté le 21-02-2004 à 09:48:23
access denied donc tu n'arrive pas à te connecter
Marsh Posté le 21-02-2004 à 11:26:20
Using password: NO
Y'a un problème là... ça m'étonnerait que chez free ils utilisent pas les passwords pour se connecter à la bdd
Balance ton code pour te connecter à la base...
Marsh Posté le 21-02-2004 à 12:41:56
en même temps, en ce moment chez free, y'a de grosses merdes, sont en train de démenager ou une connerie du genre..... ca ne vient pas forcement de toi dragonminus
Marsh Posté le 21-02-2004 à 21:18:17
dragonminus a écrit : Voici la ligne incriminée : |
Le problème vient de la connexion à la BDD, donc la requête qui foire, ça peut être que la première (donc on s'en fout un peu, c'est pas la requête le problème). T'es tu bien connecté comme suit ?
$base = mysql_connect ('nom_du_server', 'login', 'mot_de_passe'); |
Marsh Posté le 21-02-2004 à 22:19:39
merci les gars de vos réponses
mais là vraiment je comprend pas, ma connection à la db sql est ok ! je la teste 1 ligne de code avant le message d'erreur et c'est ok !
c'est aprés la connection que ça va pas.
quoique voilà le code : (sans les pass
Voici le fichier de connection à la base et lui c'est ok !
//CONNECTION AU SERVEUR INTERNE DE LA BASE.
$dbhost="sql.free.fr";
$dblogin="monlogin";
$dbpassword="monpass";
$dbname="mabase";//le nom de ma base de données.
$connecter=mysql_connect($dbhost,$dblogin,$dbpassword);
if (!$connecter){echo "La connection a échoué. Essayez plus tard";}else
{
//............ Connection à la base de données .........
$okbase=mysql_selectdb($dbname);
}
//... Si la base de donnée a un probleme on le dit........
if (!$okbase){echo "Problème de connection à la base de données.";}
else
{
//...... Vérifie la table unetable ...................
$Resultat = mysql_query("SELECT * FROM unetable" );
if (!$Resultat)
{//....Si la table unetable a un probleme on la recrée.........
$creation="CREATE TABLE unetable
(id int(4) Not NULL,login TEXT NOT NULL,pseudo TEXT NOT NULL,pass TEXT NOT NULL,proposition TEXT NOT NULL)";
if (mysql_query($creation,$connecter)){echo "table unetable créée !";}
}
//Ici tout est bon !
}//fin du else et donc du travail avec la base.
mysql_close();
?>
......................................
là c'est le fichier qui donne le message d'erreur :
Il m'affiche le message de félicitation que j'ai mis pour tester.
............ Debut .........
<?php
include('connect.php');
if (!$okbase){echo "Problème de connection à la base de données.";}
else
{
echo "<b>Félicitations!!!</b> <br>Vous avez réussi à vous connecter correctement à votre base de données <b>$dbname</b>";
//Crée le début d'une page HTML et y inclut un fichier javascript.
echo "<html><head>
<script src=\"compteur.js\"></script>
<script language=\"javascript\">
max=LitValeurs(\"max\" );
function prec(decale)
{
max=eval(max);
debut=LitValeurs(\"sens\" );
debut=eval(debut);
debut-=10;
if(debut<1)debut=0;
decale.sens.value=debut;
creecookie(\"sens\",debut);
decale.submit();
}
function next(decale)
{
max=eval(max);
debut=LitValeurs(\"sens\" );
debut=eval(debut);
debut+=10;
if (debut>=max){debut=max;}
decale.sens.value=debut;
creecookie(\"sens\",debut);
decale.submit();
}
</script>
</head>
<body bgcolor=\"#BFEFEF\"> ";
//Ecrit dans un fichier le nombre d'inscrits.
if (!file_exists("maxplayers" )){
//Si le fichier Maxplayers n'existe pas Enregistre dans un fichier le nombre d'inscrits lu dans la table.
$Resultat = mysql_query("SELECT * FROM mutrade" );
$max = mysql_num_rows($Resultat);
$ftable=fopen('maxplayers','w');
fputs($ftable,$max);
fclose($ftable);
}
//Lit dans un fichier le nombre de joueurs inscrit.
$ftable=fopen('maxplayers','r');
$max=fgets($ftable,30);
fclose($ftable);
//initialise les variables de recherche.
$fin=10;
if ($sens<1){$sens=0;}
if ($sens>=$max){$fin=1;$sens=$max;}else{$fin=10;}
$debut=$sens;
$rang=$debut; //$rang sert à donner un numéro à un enregistrement affiché afin que le visiteur puisse cliquer dessus.
$nomdetable="unetable";
// la recherche proprement dite et faite
$resultat=mysql_query("SELECT * FROM $nomdetable WHERE 1 LIMIT $debut, $fin" );
........... FIN ......je met pas en entier c trop long et puis l'erreur est au debut de ce fichier mais pourquoi ?
Marsh Posté le 21-02-2004 à 22:58:42
J'ai trop la flemme de tous lire mais j'ai été choqué par le mysql_close(). Il faut le mettre quand tu n'utilises plus la base, pas avant. Par contre, ça aura pas changé la valeur de $connecter.
Marsh Posté le 22-02-2004 à 05:24:55
héhé, je savais bien que c'été trops long comme texte ;
mais bon on dit met le code
je réfléchit encore au probleme, celui qui trouve je le met président
Marsh Posté le 22-02-2004 à 05:28:19
En plus, malgré le mysql_close(), le message test, de "félicitation" s'affiche, c'est donc que c'est ok !.
histoire de fous ça...
Je me demandais si Free a besoin d'un user htaccess pour une requete comme select et where, dna ce cas je sais pas comment l'écrire, ya rien sur mes doc php/sql.
Marsh Posté le 22-02-2004 à 05:48:31
Salut tous !!!! je suis content !!!!!
ça marCHEEEEEEE !!!!!
En fait, t'avais raison pour le mysql_close() MASTER P, t'est vraiment un master
Même en flegme il a trouvé, hé hé hé....
Je comprenais pas en tous cas pourquoi il affichait quand même le message de bonne connection, bein c'est parce que le serveur gardait en mémoire la valeur de "$ok" donnée par le fichier de connection à la base.(j'ai supprimé le mysql_close() et c'est tout !!!!
Trop top. Master Top....heu..Pot...heu..P...Programmeur ?
Marsh Posté le 22-02-2004 à 13:26:56
De rien.
Pour la valeur de $connecter, je t'avais dit que ça gardais la valeur précédente. Sinon moi, j'utilise tjs le mysql_close() en fin de script.
Heureux d'avoir pu t'aider
Marsh Posté le 21-02-2004 à 07:14:18
CE PROBLEME VIENT D'ETRE REGLE ! Merci à tous
Salut, Je me connecte à "sql.free.fr" avec mon login et mon pass, la connection à la base de données est bonne et l'erreur vient juste aprés :
ma page Web affiche :
Warning: mysql_query(): Access denied for user: 'belwork@212.27.40.154' (Using password: NO) in /var/www/free.fr/f/7/belwork/mutrade/joueurs.php on line 64
Voici la ligne incriminée :
$resultat=mysql_query("SELECT * FROM $nomdetable WHERE 1 LIMIT $debut, $fin" );
Message édité par dragonminus le 22-02-2004 à 05:54:52