Wenn Ihre Edition SQL Server Express ist, sollten Sie wahrscheinlich Folgendes verwenden:
$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");
Oder wenn es sich ansonsten um eine benannte Instanz handelt, dann
$objConnect = mssql_connect("localhost\InstanceName","usr","pass");
Wenn Sie eine Remote-Verbindung herstellen müssen, sollten Sie natürlich nicht localhost
verwenden denn wie findet der entfernte Webserver Ihre localhost
? Sie sollten eine der folgenden Methoden verwenden (vorausgesetzt, der Remote-Webserver kann Ihren Computer mit der IP-Adresse 192.168.5.22 sehen):
$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");
Natürlich muss Ihre Firewall Port 1433 (und möglicherweise 1434) geöffnet haben, um diese Verbindung zu akzeptieren, und es gibt eine Vielzahl anderer Dinge, die auch hier schief gehen können.
Allerdings ein kleiner Debugging-101-Vorschlag. Statt:
if($objConnect)
{
echo "Database Connected.<br />";
echo mssql_error();
}
else
{
echo "Database Connect Failed.<br />";
}
Warum nicht:
if($objConnect)
{
echo "Database Connected.<br />";
}
else
{
echo "Database Connect Failed.<br />";
echo mssql_error();
}
Sicherlich müssen Sie keinen Fehler auf die Seite schreiben, wenn die Datenbank erfolgreich eine Verbindung herstellt. Wenn Sie uns die tatsächliche Fehlermeldung mitteilen, die Sie erhalten, können wir Sie möglicherweise besser auf eine Lösung hinweisen. Eine generische „Datenbankverbindung fehlgeschlagen“-Meldung, die Sie geschrieben haben, gibt niemandem einen Hinweis darauf, was tatsächlich schief gelaufen ist. Aber ich wette mssql_error()
könnte!