Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Indirizzo SQL Server per la connessione tramite php

Se la tua edizione è SQL Server Express, probabilmente dovresti usare:

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

O se è altrimenti un'istanza denominata, allora

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

Se devi connetterti in remoto, ovviamente non dovresti usare localhost poiché come fa il server web remoto a localizzare tuo localhost ? Dovresti utilizzare uno dei seguenti (supponendo che il server web remoto possa vedere la tua macchina con l'indirizzo 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");

Ovviamente il tuo firewall deve avere la porta 1433 (e possibilmente 1434) aperta per accettare quella connessione, e ci sono anche molte altre cose che possono andare storte qui.

Tuttavia, un piccolo suggerimento per il debug. Invece di:

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

Perché no:

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

Sicuramente non è necessario scrivere un errore nella pagina quando il database si connette correttamente. E comunicarci l'effettivo messaggio di errore che ricevi potrebbe prepararci meglio a indicarti la direzione di una soluzione. Un messaggio generico "Connessione database non riuscita" che hai scritto non darà a nessuno la minima idea di cosa sia andato storto. Ma scommetto mssql_error() potrebbe!