Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/10/2011, 16h51   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Problème de connexion en php avec MySQL

Bonjour,
Et d'avance merci pour votre aide. je crois que mon problème est tellement bête qu'il n'est pas documenté.

J'utilise ce code php pour me connecter à une base MySQL:
Code :
1
2
3
<?
mysql_connect('192.168.1.6','pureftpd','pureftpd');
?>
retour:
Code :
1
2
3
Warning: mysql_connect() [FUNCTION.mysql-connect]: [2002] Aucune connexion n’a pu être établie car l’ordinateur cible l’a (trying TO connect via tcp://192.168.1.6:3306) IN C:\wamp\www\testmysql.php ON line 2
<un tableau, puis à nouveau:>
Warning: mysql_connect() [FUNCTION.mysql-connect]: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. IN C:\wamp\www\testmysql.php ON line 2
Quelques précisions:
  • La base est bien sur 192.168.1.6, l'utilisateur 'pureftpd' existe bien, bon mot de passe, bons privilèges, je n'ai pas touché aux ports.
  • J'arrive à me connecter avec PhpMyAdmin en utilisant ces paramètres.

Une chtite idée ?

Edit:
le code:
Code :
1
2
3
<?
$sqldata=  mysql_connect('192.168.1.6','pureftpd','pureftpd');
?>
renvoie la même erreur.
petit_chat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h20   #2
Membre expérimenté
 
Inscription : janvier 2007
Messages : 622
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 622
Points : 555
Points : 555
Bonjour,
Si le php est installé sur la même machine que Mysql, tu n'as qu'à remplacer l'ip par localhost sinon dans le cas contraire renseignes toi sur la connexion à Mysql distant.
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 00h37   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 0
Points : 0
Salut kabkab, merci de te pencher sur mon cas.
Citation:
Envoyé par kabkab
Bonjour,
Si le php est installé sur la même machine que Mysql, tu n'as qu'à remplacer l'ip par localhost
Le serveur MySQL n'est pas sur ma machine mais dans le réseau local (obligé de laisser 192.168.1.6).
Citation:
Envoyé par kabkab
sinon dans le cas contraire renseignes toi sur la connexion à Mysql distant.
Il y a des paramètres autres que l'ip, le port, le login de connexion et son mot de passe ? Dans mon cas la connexion distante fonctionne avec PhpMyAdmin mais pas avec mon code...étrange, non ?

petit_chat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 02h58   #4
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Citation:
Envoyé par petit_chat Voir le message
J'utilise ce code php pour me connecter à une base MySQL:
Code :
1
2
3
<?
mysql_connect('192.168.1.6','pureftpd','pureftpd');
?>
Tout d'abord je te recommande d'abandonner les short-tags PHP, au profit des balises PHP qui sont <?php ... ?>. Cela t'évitera bien des déconvenues notamment avec XML.
Citation:
Envoyé par petit_chat Voir le message
retour:
Code :
1
2
3
Warning: mysql_connect() [FUNCTION.mysql-connect]: [2002] Aucune connexion n’a pu être établie car l’ordinateur cible l’a (trying TO connect via tcp://192.168.1.6:3306) IN C:\wamp\www\testmysql.php ON line 2
<un tableau, puis à nouveau:>
Warning: mysql_connect() [FUNCTION.mysql-connect]: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. IN C:\wamp\www\testmysql.php ON line 2
Quelques précisions:
  • La base est bien sur 192.168.1.6, l'utilisateur 'pureftpd' existe bien, bon mot de passe, bons privilèges, je n'ai pas touché aux ports.
  • J'arrive à me connecter avec PhpMyAdmin en utilisant ces paramètres.
J'imagine que le serveur Apache et PHP sont également situés sur la machine hôte d'IP 192.168.1.6, et que lorsque tu dis te connecter avec PhpMyAdmin, tu veux dire que tu arrives à te connecter à PhpMyAdmin sur ce serveur à partir d'un autre poste du réseau local.
Donc, en fait, le PHP du serveur local Apache parvient à se connecter au serveur MySQL via le script PhpMyAdmin et un autre script PHP, sur le même serveur Apache, ne parvient pas à se connecter au serveur MySQL avec les mêmes paramètres de connexion, c'est bien cela ?
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 23h03   #5
Invité de passage
 
Inscription : octobre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 3
Points : 0
Points : 0
Par défaut [Résolu]

Salut

Citation:
Envoyé par kabkab
renseignes toi sur la connexion à Mysql distant.
voilà ce qui a payé.

J'étais naïf de penser que, par défaut, MySQL allait autoriser la connexion distante sans un peu de config.
Des tutoriels existent sur le net sur comment configurer un accès distant à un serveur MySQL. Par défaut on ne peut pas, il faut l'autoriser. Il faut procéder en deux temps:
  • D'abord, sur le serveur, il faut configurer (je suis sous debian) /etc/mysql/my.cnf: commenter la ligne "bind addres = 127.0.0.1" et une ligne "skip-networking" ou "skip-external-locking".(bien sûr sauver et redémarrer mysql par un /etc/init.d/mysql restart)
  • Faire en sorte qu'il y ait (en le créant ou en modifiant un utilisateur existant), sur le serveur MySQL, un utilisateur ayant les droits sur les bases et, surtout, le champs "server" compléter par l'adresse IP de la machine avec laquelle on va se connecter.

Maintenant mon script marchent nickel, ou plutôt mes scripts car en cherchant, le script initial s'est multiplié comme par mitose!
Grands mercis, Maljuna Kris et kabkab pour votre aide précieuse.
petit_chat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h15.


 
 
 
 
Partenaires

Hébergement Web