Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Adresse SQL Server pour se connecter en utilisant php

Si votre édition est SQL Server Express, vous devriez probablement utiliser :

$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");

Ou s'il s'agit d'une instance nommée, alors

$objConnect = mssql_connect("localhost\InstanceName","usr","pass");

Si vous avez besoin de vous connecter à distance, vous ne devriez évidemment pas utiliser localhost car comment le serveur Web distant localise-t-il votre localhost ? Vous devez utiliser l'une des options suivantes (en supposant que le serveur Web distant puisse voir votre machine avec l'adresse IP 192.168.5.22) :

$objConnect = mssql_connect("192.168.5.22\SQLEXPRESS","usr","pass");
$objConnect = mssql_connect("192.168.5.22\NamedInstance","usr","pass");
$objConnect = mssql_connect("192.168.5.22","usr","pass");

Bien sûr, votre pare-feu doit avoir le port 1433 (et éventuellement 1434) ouvert pour accepter cette connexion, et il y a une variété d'autres choses qui peuvent mal tourner ici aussi.

Cependant, une petite suggestion de débogage 101. Au lieu de :

if($objConnect)  
{  
  echo "Database Connected.<br />";  
  echo mssql_error();
}  
else  
{  
  echo "Database Connect Failed.<br />";  
}  

Pourquoi pas :

if($objConnect)  
{
  echo "Database Connected.<br />";  
}  
else  
{  
  echo "Database Connect Failed.<br />";  
  echo mssql_error();
}  

Vous n'avez sûrement pas besoin d'écrire une erreur sur la page lorsque la base de données se connecte avec succès. Et nous dire le message d'erreur réel que vous recevez peut mieux nous équiper pour vous orienter vers une solution. Un message générique "Échec de la connexion à la base de données" que vous avez écrit ne donnera à personne la moindre idée de ce qui s'est réellement passé. Mais je parie mssql_error() pourrait !