Pokud je vaše edice SQL Server Express, pravděpodobně byste měli používat:
$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");
Nebo pokud se jinak jedná o pojmenovanou instanci, pak
$objConnect = mssql_connect("localhost\InstanceName","usr","pass");
Pokud se potřebujete připojit vzdáleně, pak byste samozřejmě neměli používat localhost
protože jak vzdálený webový server najde vaše localhost
? Měli byste používat jednu z následujících možností (za předpokladu, že vzdálený webový server vidí váš počítač s IP adresou 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");
Váš firewall musí mít samozřejmě otevřený port 1433 (a možná 1434), aby mohl přijmout toto připojení, a existuje řada dalších věcí, které se zde mohou také pokazit.
Nicméně malý návrh na ladění 101. Místo:
if($objConnect)
{
echo "Database Connected.<br />";
echo mssql_error();
}
else
{
echo "Database Connect Failed.<br />";
}
Proč ne:
if($objConnect)
{
echo "Database Connected.<br />";
}
else
{
echo "Database Connect Failed.<br />";
echo mssql_error();
}
Při úspěšném připojení databáze jistě nemusíte na stránku zapisovat chybu. A když nám sdělíte skutečnou chybovou zprávu, kterou obdržíte, můžeme vás lépe nasměrovat směrem k řešení. Obecná zpráva „Připojení k databázi selhalo“, kterou jste napsali, nikomu neposkytne žádné vodítko o tom, co se skutečně pokazilo. Ale vsadím se, že mssql_error()
možná!