Accueil » Apache, PHP et Microsoft SQL Server

Apache, PHP et Microsoft SQL Server

Voici quelques jours déjà que je bute sur un problème, au travail où je suis nous utilisons le SGBD Microsoft SQL Server, et nous avons des sites intranet en PHP qui tourne sous IIS, mais sur ma machine pour développer je ne me suis pas amusé à installer IIS avec PHP, mais j’utilise tout simplement WAMP (Windows Apache PHP MySQL ) .

Pour me connecter à mon SGBD par PHP, ça ne change pas c’est pareil qu’avec MySQL :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
define('DB_NAME', 'mabase');
define('DB_HOST', 'monServeur');  
define('DB_USER', 'monUser');
define('DB_PASSWORD', 'monPass');
 
$dblink = @mssql_connect(DB_HOST, DB_USER, DB_PASSWORD);
 
if($dblink) {
	$selectdatabase = @mssql_select_db(DB_NAME, $dblink);
	if(!$selectdatabase) {
		echo 'erreur lors de la selection de la bdd';
		exit;
	}
} else {
	echo 'erreur de connexion a la bdd';
	exit;
}

Par contre, lorsque j’ai voulu me connecter à mon SQLEXPRESS qui se trouve sur ma machine, je n’ai jamais pu me connecter à celui-ci !!

Pourtant, mon script de connexion fonctionne bien et j’arrive à me connecter sur un serveur distant qui possède SQL Server, peut être une option n’est pas activée sur mon SQLEXPRESS ?

Après de longues recherches sur Google, j’ai finalement trouvé qu’il y a un problème avec PHP pour se connecter à un SGBD qui possède des instances …

Et oui pour accéder à mon SQLEXPRESS le chemin est bien nommachine\SQLEXPRESS, SQLEXPRESS est donc une instance de du SGBD.

Du coup pour que PHP puisse se connecter il faut donc remplacer ntwdblib.DLL qui se trouve pour WAMP dans les répertoires :

  • C:\wamp\bin\apache\apache2.2.8
  • C:\wamp\bin\php\php5.2.6
  • C:\Windows\System32

Également pour vous connecter, il faut dans faire ceci :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
define('DB_NAME', 'mabase');
define('DB_HOST', 'maMachine\\monInstance');  
define('DB_USER_UTIL', 'monUser');
define('DB_PASSWORD_UTIL', 'monPass');
 
$dblink = @mssql_connect(DB_HOST, DB_USER, DB_PASSWORD);
 
if($dblink) {
	$selectdatabase = @mssql_select_db(DB_NAME, $dblink);
	if(!$selectdatabase) {
		echo 'erreur lors de la selection de la bdd';
		exit;
	}
} else {
	echo 'erreur de connexion a la bdd';
	exit;
}

3 commentaires

  1. damien

    Bonjour
    merci pour ses informations (ça fait quelques heures que je cherche des réponses claires )
    par contre peut-on savoir par quoi on remplace le ‘ntwdblib.DLL’ ?

  2. Hotfirenet

    si tu regardes j’ai mis qu’il faut remplacer la dll que tu vas telecharger sur le site de microsoft dans :

    WAMP les répertoires :

    * C:\wamp\bin\apache\apache2.2.8
    * C:\wamp\bin\php\php5.2.6
    * C:\Windows\System32

    voila content que ça ai pu t’aider

  3. sdy

    urgentttttttt!!!!!!!!!!!!!!!!!!!!!!
    bnjr donc vous avez deja arriver à se connecter sql server avec
    wamp. pouvez vous me presenter les etapes que vous avez suivé svp car ça fait 3jour de recherch et d’essai et en vain

Laisser un commentaire