Problème avec free

droopy
Invité n'ayant pas de compte PHPfrance

05 avr. 2005, 15:14

bonjour,

j'ai créé un site avec une base de données qui fonctionne très bien en local ; côté internet, je suis chez AOL et mon site internet se trouve chez Free

j'ai activé ma base de données sur mon compte free et il n'y a pas moyen d'accéder à ma base de données (aucun message d'erreur ne s'affiche lors de la connection, au contraire d'après mon script je suis bien connecté et ce même si je remplace mon mot de passe par un autre erroné !!!)

je n'y comprends plus grand chose, si quelqu'un aurait la gentillesse de bien vouloir m'éclairer... merci d'avance

ci-dessous le code que j'utilise dans mon script

$host="sql.free.fr";
$user="mon login";
$pass="mon mot de passe";
$bdd="mon login";
$table="commune";
if (!@mysql_connect("$host","$user","$pass"))
echo "<script>location.href = 'bd-pbe.html'</script>";
if (!@mysql_select_db("$bdd"))
echo "<script>location.href = 'bd-pbe.html'</script>";

// Récupère les données
$query = "SELECT NomCommune FROM $table WHERE CodePostal='62170'";
$result = mysql_query("$query");

// Détermine le nombre d'enregistrements trouvés
$nb = mysql_numrows($result);

et là apparition d'un message d'erreur (qui ne m'indique donc pas que ma connection a échoué)

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/e/8/masse.laurent/selectionville.php3 on line 60

ViPHP
ViPHP | 2144 Messages

05 avr. 2005, 15:16

Enlêve les @ devant les commandes sql, ça supprime l'affichage des messages d'erreurs, qui te permettront de comprendre ce qui cloche... :wink:

Mammouth du PHP | 859 Messages

05 avr. 2005, 15:23

Tu testes si tu t'y connectes ou pas mais JAMAIS dans ton code tu t'y connectes.
 if (!@mysql_connect("$host","$user","$pass"))
echo "<script>location.href = 'bd-pbe.html'</script>";
if (!@mysql_select_db("$bdd"))
echo "<script>location.href = 'bd-pbe.html'</script>"; 
Voilà le bon code de connexion :
@mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de données");

droopy
Invité n'ayant pas de compte PHPfrance

05 avr. 2005, 16:57

si j'enlève les @ je n'ai toujours pas de message d'erreur excepté celui noté plus haut (dont recopie ci-dessous) ; si je me connecte avec les lignes de codes conseillées il n'y a aucun changement

peut-être y a-t-il des soucis avec les bases de données sous Free ?

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/e/8/masse.laurent/selectionville.php3 on line 63

Mammouth du PHP | 859 Messages

05 avr. 2005, 17:00

J'ai trouvé !!!

Code : Tout sélectionner

// Détermine le nombre d'enregistrements trouvés $nb = mysql_num_rows($result);
Tu as attaché numrows alors que c'est num_rows !

droopy
Invité n'ayant pas de compte PHPfrance

05 avr. 2005, 17:47

c'est pas ça non plus, j'ai le message d'erreur qui s'affiche

ce que je ne comprends pas c'est que cela fonctionne super sur mon serveur local mais pas chez free alors que je suis leurs indications pour la connection...

Mammouth du PHP | 859 Messages

05 avr. 2005, 18:43

Essaye de remplacer ça :
 // Récupère les données
$query = "SELECT NomCommune FROM $table WHERE CodePostal='62170'";
$result = mysql_query($query);

// Détermine le nombre d'enregistrements trouvés
$nb = mysql_numrows($result); 

droopy
Invité n'ayant pas de compte PHPfrance

06 avr. 2005, 10:34

même résultat...

ce que je n'arrive pas à comprendre c'est que même si je modifie le nom de la base de données ou mon login, aucun message d'erreur ne s'affiche indiquant que je n'arrive pas à me connecter à la base de données, ce qui devrait être le cas puisque mon login est alors erroné...

je me demande vraiment si c'est pas free qui déconne...

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2005, 14:55

Salut, j'avais le même problème, et dans ma requête j'avais un ORDER By, je l'ai dégagé pour voir, et ça n'a plus deconné... C'est pas vraiment normal quand on y pense, surtout que ça marchait avant.

Bon je dis juste ça pour infos, parce que toi t'as pas de ORDER BY, mais teste en metttant un requete toute simple avec un SELECT seulement.

IDK
Invité n'ayant pas de compte PHPfrance

01 mai 2005, 08:49

C'est free qui t'empeche de te connecté!!
Ca fé chier, mais c'est une securité pour eux!! Tu peux pas te connecté à une bdd, via un programme exterieur!!

Par contre , si qqun a trouvé un crack pour passer dite le !!

Mammouth du PHP | 19672 Messages

01 mai 2005, 09:58

MySQL fonctionne très bien chez free : ouvre phpMyAdmin sur sql.free.fr, loggue toi pour accéder à ta base et essaye d'exécuter ta requête: tu verras déjà si tu as un résultat ou non: soit tu as un résultat et c'est la manière dont tu te connectes qui pose problème, soit (plus probablement) tu as une erreur dans la requête et tu auras la réponse dans phpMyAdmin.

Essaye ça et reviens nous dire de quoi il retourne.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
fab
ViPHP | 2657 Messages

01 mai 2005, 16:15

J'ai trouvé !!!

Code : Tout sélectionner

// Détermine le nombre d'enregistrements trouvés $nb = mysql_num_rows($result);
Tu as attaché numrows alors que c'est num_rows !
et
Essaye de remplacer ça :
 // Récupère les données
$query = "SELECT NomCommune FROM $table WHERE CodePostal='62170'";
$result = mysql_query($query);

// Détermine le nombre d'enregistrements trouvés
$nb = mysql_numrows($result); 
Evite de lui donné un code avec son erreur :p