Jeśli masz wersję SQL Server Express, prawdopodobnie powinieneś używać:
$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");
Lub jeśli jest to nazwana instancja, to
$objConnect = mssql_connect("localhost\InstanceName","usr","pass");
Jeśli potrzebujesz połączyć się zdalnie, to oczywiście nie powinieneś używać localhost
ponieważ w jaki sposób zdalny serwer internetowy lokalizuje Twój localhost
? Powinieneś używać jednego z poniższych (zakładając, że zdalny serwer sieciowy może zobaczyć twoją maszynę z adresem 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");
Oczywiście twój firewall musi mieć otwarty port 1433 (i być może 1434), aby zaakceptować to połączenie, i tutaj jest wiele innych rzeczy, które mogą pójść nie tak.
Jednak mała sugestia debugowania 101. Zamiast:
if($objConnect)
{
echo "Database Connected.<br />";
echo mssql_error();
}
else
{
echo "Database Connect Failed.<br />";
}
Dlaczego nie:
if($objConnect)
{
echo "Database Connected.<br />";
}
else
{
echo "Database Connect Failed.<br />";
echo mssql_error();
}
Z pewnością nie musisz pisać błędu na stronie, gdy baza danych się połączy. A poinformowanie nas o otrzymanym komunikacie o błędzie może lepiej przygotować nas do wskazania kierunku rozwiązania. Ogólny komunikat „Błąd połączenia z bazą danych”, który napisałeś, nie da nikomu żadnej wskazówki, co właściwie poszło nie tak. Ale obstawiam mssql_error()
może!