Page 1 sur 1

Impossible d'accéder à une base my_sql en php (avec IIS)

Posté : 02 mars 2007, 09:47
par Invité
Bonjour,

voilà, j'essaie de développer un page intranet en php avec IIS 6.0 (windows 2003) et une base de données mysql.

Après avoir galéré plusieurs heures pour faire fonctionner php avec IIS, j'ai réussi et la page avec les informations du phpinfo() fonctionne très bien.

Mon soucis maintenant et que j'obtiens l'erreur suivante :
Fatal error: Call to undefined function mysql_connect() in C:\Inetpub\wwwroot\Intranet\connect.php on line 6

Mon code est le suivant :
<?php 

$hostname="localhost";
$mysql_login="root"; 
$mysql_password="password"; 
$database="ma_base"; 

if (!($db = mysql_connect($hostname, $mysql_login, $mysql_password))){ 
      die("Impossible de se connecter au serveur de bases de données.");
}else{
  if (!(mysql_select_db($database,$db)))  {
      die("Cette base de donnees n'existe pas"); 
  } 
} 
?> 
Ne serait-ce pas un problème de déclaration de variables :cry: (je dis ça mais je ne sais pas) ? Je suis pas développeur :?

Merci d'avance pour votre aide.
:oops:

Posté : 02 mars 2007, 09:53
par Invité
:oops: Mea culpa, l'erreur n'est pas à la ligne 6 mais 9
Fatal error: Call to undefined function mysql_connect() in C:\Inetpub\wwwroot\Intranet\connect.php on line 9

Ca serait donc cette ligne en cause :
if (!($db = mysql_connect($hostname, $mysql_login, $mysql_password))){

(dans ma page connect.php)

Posté : 02 mars 2007, 10:22
par zeus
Visiblement, l'extension MySQL n'est pas activée sur ton serveur. :-k
Regarde le phpinfo si tu vois une section "MySQL"

Posté : 02 mars 2007, 10:32
par Invité
Effectivement, je ne vois pas de section MYSQL dans le phpinfo. Comment fait-on pour l'activer ?

J'ai modifié dans le php.ini (décommenter les extensions mysql et mysqli etc...) ça n'a rien à voir pour l'activation ?

Posté : 02 mars 2007, 11:45
par zeus
Je ne connais pas très bien IIS mais tu doit, dans le php.ini avoir une directive "extension_dir" qui correspond au dossier dans lequel sont les extensions.

Rend toi dans ce dossier et regarde si tu as un fichier "php_mysql.dll". Il doit y être pour que ça fonctionne :S

Posté : 02 mars 2007, 12:02
par Invité
Il y est dans php.ini
extension_dir = "C/Inetpub/php/ext"

Et dans le répertoire cités dessus y'a bien le php_mysql.dll

je comprends pas :?

Posté : 02 mars 2007, 12:28
par sharep98
Il faut que tu ajoute une ligne
extension=php_mysql.dll
dans ton php.ini

Posté : 02 mars 2007, 12:37
par Invité
Cette ligne était déjà présente mais commentée, je l'avais décommenté (elle l'est toujours) ainsi que sa copine du dessous (mysqli) :
extension=php_mysql.dll
extension=php_mysqli.dll

Posté : 02 mars 2007, 13:55
par zeus
Est-ce que tu as bien redémarré ton serveur IIS après avoir décommenté ces lignes ?

Posté : 02 mars 2007, 14:47
par Invité
oui tout à fait redémarré iis et même le serveur au cas où mais rien n'a changé, j'ai le phpinfo qui fonctionne mais toujours cette erreur. :(

Posté : 02 mars 2007, 15:01
par orgerix
J'ai eu le même problème pour activer l'extention db2 pour EasyPHP et WAMP...

j'ai fini par laisser tomber et tester mes script graphique directmeent sur mon hébergeur...

Posté : 02 mars 2007, 15:06
par Invité
Je suis mon propre hébergeur... :D

Posté : 06 mars 2007, 17:19
par billy1377
:D mille excuse, c'est bon, l'erreur était la suivante (vu grâce au php.ini)

dans le php il n'y avait pas de partie Mysql malgré l'extension_dir= php_mysql.dll

Le php.ini dans C:\Windows\php.ini

J'ai pu voir qu'il indiquait le chemin pour les extensions dans
C/Inetpub/langagephp/ext

modifié dans le php en :
C:\Inetpub\langagephp\ext et là ça marche !

Merci à tous pour votre aide.