Probleme de Connection a ma base de donnée SQL en local a partir de mon SITE WEB

jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007 - 20 déc. 2007 à 04:04
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007 - 21 déc. 2007 à 03:09
Bonjour j'ai un probleme de connection a ma base de donnée SQL en localhost lord de l'ouverture de ma page web
Voici le msg d'erreur que me dit ma page web et pourtant mon hébergeur authorize le SQL meme il mem fournit une mais jutilise celle de mon ordi (LOCALHOST)

voici limage derreur :::: http://images.cjb.net/e32bc.jpg

mon code sert a cque je puisse voir les joueurs online sur mon site web et pourtan il fonctione mon ami me la refiler et il lutilise
voici mon code::::

<html>

<center>

<?
$Serveur_Sql="localhost";
$Login_Sql="bdd";
$Passe_Sql="qwaszx";
$Base_Sql="l2jdb";
?>
<table width="200">
<tr>
<td>Nbre</td> <td>Personnage</td>
</tr>
<?
$db = mysql_connect($Serveur_Sql, $Login_Sql, $Passe_Sql)
  OR die(mysql_error());
$requete = mysql_query("
select C.char_name,C.level,C.sex,CT.ClassName
from characters as C
inner join char_templates as CT
on CT.ClassId = C.classid
where C.online = 1
order by C.level DESC;
");
$i = 1;
while($classement = mysql_fetch_assoc($requete)){
if ($classement['sex'] <> 0) {
$sexe='Femme';
} else {
$sexe='Homme';
}
echo "
<tr>
<td>$i</td>
<td>$classement[char_name]</td>


</tr>
";
$i++;
}
if ($i=="1") {
echo "
<tr>
<td>Il n'y a aucun joueur en ligne pour le moment...</td>
</tr>
";
}
?>
</center>

</html>

en esperant que quelqun puisse trouve la solution a mon probleme
_____________________________________________________________________________

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE

23 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 déc. 2007 à 08:25
Hello,

il y a de grosses lacunes au sujet du fonctionnement du web là. Je te conseille de repartir de zéro en lisant quelques tutos ou livres généralistes sur le web.
Tu ne peux pas accéder à ton ordinateur local à partir du web. Enfin pas comme ça...bref, ce serait trop long à expliquer : tu ne peux pas accéder à la base de données de ton pc, à partir de ton site web. Utilise la base de données fournie par ton hébergeur.
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 08:31
Je ne peux me permete de repartir a zero.1. Je ne peux pas effacer ma base de donne car je l'utilise pour un server de type lineage et je ne veux pas perdre toute mes character de tous mes utilisateurs et de 2 je ne pourais jamais faire cque je veux avec ce code si jimplante ma base de donne local sur mon server web...car le code sert a savoir le nombre de joueur en ligne sur un server de jeux Lineage et je connais beaucoup de monde qui utilise ce code....

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 08:34
Le probleme c'est que mysql ne trouve pas mysqld.sock ....je crois qui faut que je modifier de quoi dans my.ini mais je ne c'est pas quoi et ou

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
20 déc. 2007 à 10:11
Salut,

On reprend.
Depuis ton serveur web, tu ne PEUX pas accéder à ta base de données située sur ton serveur. C'est possible, mais c'est loin d'être aussi simple que ça.

Tout d'abord, explications de l'erreur.
Pour ton serveur web, localhost désigne lui-même, pas ton pc. Ton hébergeur te propose certainement une base de données. Comme il n'est pas totalement idiot, la base de données est située sur un autre serveur. Donc, depuis le serveur web (Apache, qui sert les fichiers en http), ce serveur porte un nom, c'est ce nom que tu es censé utiliser pour t'y connecter. Localhost étant le serveur Apache (sur lequel seul tourne Apache avec PHP), il n'y a AUCUNE application qui écoute le port 3306 (qui est le port d'écoute de MySQL). D'où l'erreur : sur le serveur localhost, il n'y a tout simplement pas de serveur de base de données MySQL. Il n'y a donc pas non plus de fichier my.ini, auquel, dureste, tu n'as certainement pas accès.

Le plus simple à faire est donc de transférer ta base de données que tu as sur ton ordinateur sur le serveur que ton hébergeur met à ta disposition (tu ferais ainsi comme un peu plus de 99,99999% des clients d'hébergeurs, ce qui n'a donc rien d'extraordinaire). Il te suffit alors d'utiliser les paramètres de connexion que t'as fournis ton hébergeur, celui-ci t'ayant certainement founi également un accès à phpMyAdmin, qui te permettra de faire le transfert de ta base en toute sérénité.

Enfin, si tu veux VRAIMENT utiliser ta base de données qui se trouve sur ton ordinateur perso, va falloir qu'on en reparle, parce que c'est quand même plus compliqué que ça. Mais c'est VRAIMENT pas recommandé, pour plein de raisons (notamment le fait que le serveur de ton hébergeur donner de meilleures performances que ton petit pc, malgré ton super processeur et ta ram : c'est pas grand chose comparé à ce que doit avoir ton hébergeur pour ses serveurs de bases de données).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 10:22
je vois ...mais laffaire c'est que je roule un server de jeux online et je voudrais que on voille sur mon site le nombre de personne qui son connecter en temp reel... si je transfer ma BDD sur mon hebergeur (et oui je le peux car il y a sql)mais non jeux ne veux pas car ca sera impossible dafficher en temp reel a moin qui aille une autre solution possible mais le mieux ce serais de trouver comment faire et c'est quoi j'ai looper dans mes config wamp ou sql ou wathever parce que je c'es que c'est possible et anywa ca ne me derange pos que ca soille po performant pcq la seul chose que je veux c acceder a ma BDD juste pour afficher lcode pour que ca menvoi le nombrew de personne connecter en temp reel comme sur http://www.anora.fr/guide.php  ... a date j'ai reussi a faire le 3/4 de cquion fait la sur mon site j'ai reussi a mettre le Status en temp reel de mon Login /Gameserver sur mon site comme sur anora, mais la y manque juste le nombre de personne online et le Status n'etais que du html et non du PHP a SQL.....

voici mon site http://jultknight.hostarea.org/

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
20 déc. 2007 à 12:02
Salut,
Comme tout le monte t'as expliqué ce n'est pas la meilleure solution.
Je comprends très bien ton probleme, d'après moi la meilleure solution est d'avoir une table synchronisé au quart d'heure près, mais ça depend toujours du genre dinfos que t'as besoin sur ton serveur Local.

Ensuite c'est toi que ça regarde, si tu veux utiliser ton serveur local absolument, alors c'est pas tellement compliqué.

Pour parvenir a faire ça tu dois pour commencer configuré un utilisateur dans mysql local pour qu'on puisse s'y connecter depuis l'extérieur.

Ensuite tu dois configurer ton parfeu pour qu'il laisse passer les connexions sur le port 3306 en entrée sur ton PC, tu dois égallement configurer ton routeur pour qu'il route les connexions du port 3306 vers ton PC.

Derniere chose, $Serveur_sql ="tonip";

Si tu passe par un routeur comme c'est le cas pour la majorité du monde, la façon la plus rapide d'avoir ton IP est simplement d'aller sur un site comme www.showmyip.com
Sinon dans un invite de commande tu tappe ipconfig

En esperant t'avoir aidé.
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
20 déc. 2007 à 12:36
C'est pas tout.

Si tu as une adresse IP fixe, alors il te suffit d'utiliser cette adresse dans ton script, pour te connecter à MySQL.
Si tu as une adresse IP dynamique, deux solutions s'offrent à toi :
- changer l'adresse IP dans ton script à la main à chaque fois
- utiliser un service d'hôte dynamique, comme dyndns, no-ip, etc.
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 19:42
J'ai une ipfixe,  et ca n'a pas plus marcher, j'ai essayer avec myndns et avec le programme deenes pour myndns et ca na pas plus fonctionner , j'ai essayer avec myndns et le programme deeenes et j'ai configurer mon routeur pour le ouvrir le port 3306 et j'ai meme activer le dmz et aussi ouvrir le port 3306 tcp et udp dans windows xp et ca na rien donnéz...tjr le meme msg.....j'utilise wamp 1.7.0 pour acceder a mysql et apache....esce dyu a la version du logiciel??

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
20 déc. 2007 à 21:21
Salut,
ton serveur mysql répond bien de chez moi,  donc ton host devrait pouvoir y acceder sans problème.

[alex@localhost ~]$ mysql -h 64.228.235.15 -p 3306 -uroot
Enter password:
ERROR 1130 (00000): Host 'modemcable118.11-57-64.mc.videotron.ca' is not allowed to connect to this MySQL server

Évidement je n'ai pas les permissions d'acceder au root puisque ton user root est probablement définis pour un accès local seulement. As tu bien configuré un utilisateur qui est valide en local ET en  externe ?

Donne nous l'erreur que tu reçois pour qu'on puisse t'aider d'avantage.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 21:36
ha ouin!!et oui j'ai mis un deuxieme utilisateur avec un mot de pass et comment je fait pour savoir si mon utilisateur qui est ^^bdd^^ est configurer en local et en externe....

le msg D'erreur que menvoir le site est :::

                        Nbre                  Personnage,
Warning: mysql_connect() [function.mysql-connect]: Host 'saturne.hostarea.org' is not allowed to connect to this MySQL server in /home/web/clients/jultknight.hostarea.org/www/personne.html on line 26
Host 'saturne.hostarea.org' is not allowed to connect to this MySQL server

je comprend pas pkoi, c comme si mon site ne voudrais pas acceder a ma base de donnee local laffaire c que je ne comprend pas pkoi il ne veux pas pcq
dans mon site j'ai un acced a la base de donnee sql mais je ne lutilise pas pcq jveux que le nombre de personnage affiche en temp reel.....

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
20 déc. 2007 à 21:44
Salut,
quand tu crée l'utilisateur dans la base de données, tu peux choisir sur quel serveur il est valide, soit localhost, soit tous (%) , soit tu spécifie ton IP.
Tu devrais donc soit écrire ton ip, soit sélectionner "Tout serveur" dans phpmyadmin.

Je t'ai fais un screenshot http://www.minibulle.com/ig/wi/83341aaaa.png

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 22:00
je l'ai essayer et ca na pas plus marcher regarder le screen
http://images.cjb.net/0903c.jpg

et en plus j'ai oter le mot de passe de ma basse de donner de mon user bdd
reguarder ma page test

http://jultknight.hostarea.org/connect.php

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
20 déc. 2007 à 22:13
Ouais mais la tu te connecte a saturne.hostarea.org, c'est ton hosting ça, pas ton PC a toi il me semble

$db = mysql_connect("64.228.235.15", "bdd", "")
  OR die(mysql_error());

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 22:17
en effait j'avais oublier de oter le mot de pass dans ma page php le code es comme le la dis

<html>

<center>

<?
$Serveur_Sql="64.228.235.15";
$Login_Sql="bdd";
$Passe_Sql="";
$Base_Sql="l2jdb";
?>
Nbre, Personnage,

<?
$db = mysql_connect($Serveur_Sql, $Login_Sql, $Passe_Sql)
  OR die(mysql_error());
$requete = mysql_query(\"
select C.char_name,C.level,C.sex,CT.ClassName
from characters as C
inner join char_templates as CT
on CT.ClassId = C.classid
where C.online = 1
order by C.level DESC;
\");
$i = 1;
while($classement = mysql_fetch_assoc($requete)){
if ($classement['sex'] <> 0) {
$sexe='Femme';
} else {
$sexe='Homme';
}
echo \"
----

$i,
$classement[char_name],

\";
$i++;
}
if ($i==\"1\") {
echo \"
----

Il n'y a aucun joueur en ligne pour le moment...,

\";
}
?>
</center>

</html>

mais la y me marque une nouvelle erreur

<table width=\"200\">

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/web/clients/jultknight.hostarea.org/www/connect.php on line 37
----
Il n'y a aucun joueur en ligne pour le moment...






AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 déc. 2007 à 22:27
T'as oublié le mysql_query($requete);
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 22:31
pourrais tu me dire a koi mon  code doit ressembler alors ...
ou je dois le mettre fait copier coller plus  ::::mysql_query($requete); a la bonne place

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 22:44
as tu reussi a te connecter a ma Base de donne bdd???

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
20 déc. 2007 à 22:57
Salut,
moi je réussis a m'y connecter

[alex@localhost ~]$ mysql -h64.228.235.15 -p3306 -ubdd l2jdb -p -A
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 186 to server version: 5.0.27-community-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| coursphp           |
| l2jdb              |
| mysql              |
| phpmyadmin         |
| test               |
+--------------------+
6 rows in set (0.21 sec)

mysql> use l2jdb
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_l2jdb       |
+-----------------------+
| account_data          |
| accounts              |
| armor                 |
| auction               |
| auction_bid           |
| auction_watch         |
| auto_chat             |
| auto_chat_text        |
| boxaccess             |
| boxes                 |
................

| spawnlist             |
| teleport              |
| temporaryobjecttable  |
| topic                 |
| weapon                |
| zone                  |
+-----------------------+
82 rows in set (0.44 sec)

mysql>    

En passant, met un mot de passe, c'est vraiment pas brillant laisser ça sans password.

et malalam s'est trompé, il manque le mysql_select_db("l2jbd"); juste après la connexion.
 
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 23:22
javais po laisser de mot de passe pour que tu puisse tester voir si ca marchais bon alors si ca marche mon probleme vien de ou debord???
tu code php que jai ecris???

Mon code php sert a voir le nomobre de personne online qui jouse presentement

AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
jultknight Messages postés 14 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 décembre 2007
20 déc. 2007 à 23:36
javaIS LAaisser le mot de passe pour que tu puisse tester voir si ca marchais bon alors si ca marche mon probleme vien de ou debord??? 
mon code php que jai ecris???

Mon code php sert a voir le nomobre de personne online qui jouse presentement..

Mais quand tu va sur ma page web esce que tu es capable de voir le nombre de joueur en ligne???
AMD ATHLON 4200 X2
2GIG RAM DUAL CHANNEL 667
MSI GFORCE 8800GTS 640 MO DDR3
160GIG SATA 2
80 GIG IDE
0
Rejoignez-nous