Page 1 sur 1

PB de connection après grosses vérifs?

Posté : 31 déc. 2007, 18:24
par speccy666
J'utilise Wamp 1.7.2. et j'essaie comme je peux de me connecter à la base locale ou celle déclarée chez FREE... la connection manuelle marche très bien et la base et les tables existent.

Impossible pourtant avec ce code tapé dans un fichier HTML que je démarre sous FIREFOX !

Je démarre Wamp, je le met bien ONLINE, la base existe et la table aussi.
<?
$host="localhost";
$user="root";
$pass="";
$base="scores";
mysql_connect($host,$user,$pass); // Connexion à MySQL
mysql_select_db($base)or die("Impossible d'ouvrir la base de donnees ");
 
$reponse = mysql_query("SELECT * FROM jeux_videos"); // Requête SQL
 
 
// On fait une boucle pour lister tout ce que contient la table :
 
while ($donnees = mysql_fetch_array($reponse) )
{
?>
 
<p>
<strong>NOM du jeu</strong> : <?php echo $donnees['NOM']; ?><br />
</p>
 
<?
}
mysql_close(); // Déconnexion de MySQL
?>
Où est l'erreur ? j'ai tout testé ....

A distance, même problème :
<?
$host="http://sql.free.fr";
$user="speccy666";
$pass="xxxxxxx"; // vrai mot de passe vérifié évidemment en se connectant manuellement à la base
$base="speccy666";
mysql_connect($host,$user,$pass); // Connexion à MySQL
mysql_select_db($base)or die("Impossible d'ouvrir la base de donnee $base");
 
$reponse = mysql_query("SELECT * FROM jos_menu"); // Requête SQL
 
 
// On fait une boucle pour lister tout ce que contient la table :
 
while ($donnees = mysql_fetch_array($reponse) )
{
?>
 
<p>
<strong>Nom du menu</strong> : <?php echo $donnees['name']; ?><br />
</p>
 
<?
}
mysql_close(); // Déconnexion de MySQL
?>
Vous avez une idée s'il vous plait?? merci d'avance car je suis vraiment bloqué.[/php]

Posté : 02 janv. 2008, 22:38
par damdec
c'est quoi exactement le message d'erreur affiché ?

Posté : 02 janv. 2008, 22:57
par speccy666
Ben en fait je n'ai aucun message d'erreur... mon texte html apparait mais les champs censés être complétés par les variable issues de la base sont vides.

Va comprendre Charles? une petite piste?? merci.

Jean Marc

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 02 janv. 2008, 23:34
par alaingpl
Essaye en ouvrant tes short_open_tags comme ça :
<?PHP ........?>

Posté : 02 janv. 2008, 23:39
par Aureusms
Essaye cela :
<?
$host="http://sql.free.fr";
$user="speccy666";
$pass="xxxxxxx"; // vrai mot de passe vérifié évidemment en se connectant manuellement à la base
$base="speccy666";
mysql_connect($host,$user,$pass); // Connexion à MySQL
mysql_select_db($base)or die("Impossible d'ouvrir la base de donnee $base");
 
$reponse = mysql_query("SELECT `name` FROM jos_menu LIMIT 30"); // Requête SQL
 
 
// On fait une boucle pour lister tout ce que contient la table :
 
while ($donnees = mysql_fetch_array($reponse) )
{
?>
 
<p>
<strong>Nom du menu</strong> : <?php echo $donnees['name']; ?><br />
</p>
 
<?
}
mysql_close(); // Déconnexion de MySQL
?> 
Si ca marche tu as trop de données pour FF et ca mouline. Aussi tu es obligé de demander à PHP de sortir les infos quantité par quantité (ici 30). Je te déconseille aussi la notation * pour SELECT * si tu as beaucoup de colonnes ca prends beaucoup de temps. Sélectionne les colonnes qui vont te servir. Comme j'ai vu que tu n'affichais que la colonne name je n'ai demandé que name

Posté : 03 janv. 2008, 00:18
par Xenon_54
Je ne comprends pas l'utilisation de http:// dans le nom de ton host MySQL. Il faut utiliser "sql.free.fr" et non "http://sql.free.fr".

Note: Je crois que free.fr refuse les connections externes.

Posté : 03 janv. 2008, 00:38
par Aureusms
Je ne comprends pas l'utilisation de http:// dans le nom de ton host MySQL. Il faut utiliser "sql.free.fr" et non "http://sql.free.fr".

Note: Je crois que free.fr refuse les connections externes.
PAs bête j'avais pas vu.... :oops:
Bon il est temps d'aller faire dodo.

Posté : 03 janv. 2008, 15:14
par speccy666
Merci à vous... je vais essayé de virer HTTP mais je l'avais déjà fait avant je crois.

Je vais essayé mais en local ; y a t il un moyen de s'assurer qu'on est connecté à la base sans avoir à aller chercher un enregistrement??

Cela me permettrait déjà de viérifier la connection...

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 03 janv. 2008, 15:20
par iclo
Toutes les operations sur le serveur peuvent être testées, que ce soit la connexion, la sélection d'une base de donnée, etc, avec un or die():
par exemple:
mysql_connect(....) or die(mysql_error());

Posté : 03 janv. 2008, 16:01
par speccy666
En fait, mon code PHP n'était pas interprété.... :oops:

Alors après de nombreuses recherches , voilà 3 erreurs de débutants qui vont peut être aider d'autres personnes :

1) Pour lancer du code PHP (même avec les balises <?php....>), il faut placer son code dans un fichier php et pas Html....évident dirons certains! lol! ......donc plutot essai.php que essai.html

2) En utilisant Wamp, il faut lancer ses fichiers avec la console Wamp ou taper Localhost puis le nom de fichier dans le navigateur, sinon le code PHP du fichier n'est pas interprété.

3) On ne peut se connecter à une base de données FREE (ou d'autres hébergeurs bien souvent) depuis son ordinateur local; on peut bien sur y accéder localement avec sql.free.fr et en tapant son login mais on ne pourra s'y connecter avec un script PHP lancé sur son PC; FREE l'interdit par sécurité...

Il faut donc envoyé son fichier ESSAI.PHP sur son site avec son FTP favori et ensuite le lancer à partir du site FREE... le code PHP peut alors accéder à la base de donnée du même site.

Merci à tous et à Bientôt. :oops: