Connection BDD via réseau

Connection BDD via réseau - PHP - Programmation

Marsh Posté le 14-04-2009 à 09:05:19    

Bonjour  :hello:

 

Je fais un projet où il y a deux machines 2003server avec une avec la BDD et l'autre php avec IIS.

 

J'installe donc Mysql sur le premier et PHP sur le deuxième. Les modules PHP sont configuré sur IIS, j'arrive à afficher mes pages mais impossible de se connecter sur la BDD :( (donc formulaires HS, etc...)

 

Dans mon code, la connexion à la BDD à bien la bonne IP, une requête telnet fonctionne.

 

J'ai lu qu'apparemment il faut un module pour associer PHP+MySQL mais je ne trouve pas comment faire  :(

 

Merci


Message édité par olakeen le 14-04-2009 à 09:06:27

---------------
Star Citizen Ships Performances Viewer
Reply

Marsh Posté le 14-04-2009 à 09:05:19   

Reply

Marsh Posté le 14-04-2009 à 10:46:57    

As-tu regardé de ce coté ?
http://tinyurl.com/dmscj7
 


---------------
By bob.
Reply

Marsh Posté le 14-04-2009 à 16:58:34    

enorme ca!

Reply

Marsh Posté le 14-04-2009 à 20:04:39    

  


 [:cend]

  

J'ai accès à phpmyadmin par le réseau mais le site ne veux rien savoir.

 


Le code du site de test :

 


Code :
  1. <?
  2. $host = "10.0.0.1";
  3. $user = "root";
  4. $passBD = "123";
  5. $bdd = "rma";
  6. mysql_connect($host,$user,$passBD);
  7. mysql_select_db($bdd)
  8. $sql = 'SELECT panne FROM tickets';
  9. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  10. while($data = mysql_fetch_assoc($req))
  11.     {
  12.  
  13. echo ' <p align="left"><b>Descritptif de la panne : </b> '.$data['panne'].'</p>';
  14.    
  15. }
  16. mysql_close();
  17. ?>
 

http://img13.imageshack.us/img13/9308/sanstitrepeb.th.jpg
http://img13.imageshack.us/img13/1955/sanstitre2eit.th.jpg


Message édité par olakeen le 14-04-2009 à 20:04:45

---------------
Star Citizen Ships Performances Viewer
Reply

Marsh Posté le 14-04-2009 à 22:35:13    

Si phpmyadmin fonctionne bien sur l'ordi sur lequel php est installé (celui avec php+iis) il n'y a pas a priori de raison pour ajouter de module supplémentaire.
Mais bon au cas où : as-tu déjà fait fonctionner (testé) ce code sur une autre configuration (avec serveur apache) ?
Est-ce que ta requète s'exécute correctement par un autre moyen ? (client sql, jdbc, ...) ?
Avant de faire mysql_fetch_assoc, il vaut mieux faire un test sur le resultset renvoyé (if(!$data) {echo "erreur"; exit;}) puis un mysql_num_rows pour vérifier que tu récupère bien quelque chose.
 


---------------
By bob.
Reply

Marsh Posté le 14-04-2009 à 22:55:57    

Oui, ma page fonctionne très bien sur un client type EasyPHP/MAMP  ;)  
 
Je pense sincèrement que l'erreur doit venir de $host ou bien que la base SQL n'aime pas qu'on l'interroge à distance.
 
Je vais approfondir ça demain


---------------
Star Citizen Ships Performances Viewer
Reply

Marsh Posté le 14-04-2009 à 23:24:40    

c'est possible vu l'IP, ca doit etre que du local

Reply

Marsh Posté le 15-04-2009 à 14:07:03    

olakeen a écrit :

Oui, ma page fonctionne très bien sur un client type EasyPHP/MAMP  ;)  
 
Je pense sincèrement que l'erreur doit venir de $host ou bien que la base SQL n'aime pas qu'on l'interroge à distance.
 
Je vais approfondir ça demain


 

stealth35 a écrit :

c'est possible vu l'IP, ca doit etre que du local


 
Sauf que phpmyadmin, qui arrive à correctement se connecter à la bdd, est sur le même serveur que l'appli que olakeen essaye de faire marcher. Donc pourquoi est-ce que phpmyadmin arriverait à interroger la base à distance et pas son appli ?
Pour moi le problème vient définitivement du code, il doit y avoir un truc qui cloche, mais perso (à part en faisant les trucs dont j'ai parlé plus haut) je ne voit pas d'où vient le problème.
Comment est configuré phpmyadmin ? quelle est l'adresse du serveur mysql qu'il interroge ? est-ce que c'est aussi "10.0.0.1" ?
Et puis si vraiment tu n'y arrive pas, eh bien regarde le code de phpmyadmin (s'il est facilement lisible) ou essaye de télécharger une appli sur le net qui est censé fonctionner, teste-la et regarde comment elle est codée.
 
Parce que là, franchement, je ne vois pas ce qui peut être faisable pour t'aider d'autre (et j'ai vraiment l'impression de perdre mon temps et le tien pour rien)
 


---------------
By bob.
Reply

Marsh Posté le 15-04-2009 à 20:34:02    

J'ai fais un mysql_num_row et il arrive bien à trouver la BDD  :pt1cable:

 


Ce code marche parfaitement :

 
Code :
  1. <?php
  2. $link = mysql_connect("10.0.0.1", "root", "123" );
  3. mysql_select_db("rma", $link);
  4. $req = mysql_query("SELECT id FROM tickets", $link);
  5. while($data = mysql_fetch_assoc($req))
  6.     {
  7.  
  8. echo ' <p align="left"><b>Numéro de RMA : </b> '.$data['id'].'</p>';
  9.    
  10. }
  11. ?>
 
Code :
  1. 1. <?
  2.    $host = "10.0.0.1";
  3.    $user = "root";
  4.    $passBD = "123";
  5.    $bdd = "rma";
  6.    mysql_connect($host,$user,$passBD);
  7.    mysql_select_db($bdd)
  8.    $sql = 'SELECT panne FROM tickets';
  9.    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  10.   while($data = mysql_fetch_assoc($req))
  11.     {
  12.  
  13.    
  14.    echo ' <p align="left"><b>Descritptif de la panne : </b> '.$data['panne'].'</p>';
  15.      
  16.    }
  17.    mysql_close();
  18.    ?>
 

Franchement, c'est quoi la différence avec celui la  :heink:

 


 [:sylfurd]
 [:tete de mort]
 [:elbibi]
 [:openutella]

 

Je sais d'où ca vient  [:pere dodu]

 

<?
?>

 

<?PHP
?>

 

[:cerveau cry]

 


Merci pour ton aide en tout cas ;)

 

Mais question, alors pourquoi ca marche avec easyphp/mamp et pas cette usine à gaz :heink:


Message édité par olakeen le 15-04-2009 à 20:49:41

---------------
Star Citizen Ships Performances Viewer
Reply

Marsh Posté le 15-04-2009 à 20:50:59    

Un 'classique', je m'en voudrais presque de ne pas l'avoir vu ...
Dans tous les cas, je suis content que tu aies résolu ton pb !
A bientôt
 


Message édité par superbob56 le 15-04-2009 à 20:51:28

---------------
By bob.
Reply

Marsh Posté le 15-04-2009 à 20:50:59   

Reply

Marsh Posté le 15-04-2009 à 20:59:06    

Encore merci.
 
J'ai aussi trouvé pourquoi il ne prenait pas en compte <?
 
 
CF le fichier php.ini :
 
short_open_tag = Off à mettre en ON


---------------
Star Citizen Ships Performances Viewer
Reply

Marsh Posté le 16-04-2009 à 16:51:08    

olakeen a écrit :

Encore merci.
 
J'ai aussi trouvé pourquoi il ne prenait pas en compte <?
 
 
CF le fichier php.ini :
 
short_open_tag = Off à mettre en ON

Ouais, mais je crois que c'est recommandé de mettre "<?php" dans tous les cas, c'est plus explicite (que tu fais du php) et tu es sûr d'être plus compatible avec d'autres serveurs (si jamais tu devais migrer) (et ça t'évite le genre de problème que tu as vécu :) )


---------------
By bob.
Reply

Marsh Posté le 16-04-2009 à 17:33:31    

et puis çà risque pas de merde quand tu ouvres un xml...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed