Адрес SQL Server для подключения с использованием php

Я использую этот код для подключения к SQL Server 2012, но он не работает

<?php $objConnect = mssql_connect("localhost","usr","pass"); if($objConnect) { echo "Database Connected.<br />"; echo mssql_error(); } else { echo "Database Connect Failed.<br />"; } mssql_close($objConnect); ?> 

Он всегда печатает сообщение о сбое Database Connect Failed.

Также как я могу подключиться к локальному SQL Server с внешнего веб-сервера?

    Если ваша версия SQL Server Express, вероятно, вы должны использовать:

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

    Или, если это иначе именованный экземпляр, тогда

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

    Если вам нужно подключиться удаленно, то, очевидно, вы не должны использовать localhost так как удаленный веб-сервер находит ваш localhost ? Вы должны использовать одно из следующих (предполагая, что удаленный веб-сервер может видеть ваш компьютер с 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"); 

    Конечно, ваш брандмауэр должен иметь порт 1433 (и, возможно, 1434), открытый, чтобы принять это соединение, и есть множество других вещей, которые могут пойти не так и здесь.

    Тем не менее, небольшое отладочное предложение 101. Вместо:

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

    Почему нет:

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

    Конечно, вам не нужно писать ошибку на странице, когда база данных подключается успешно. И сообщая нам, что фактическое сообщение об ошибке, которое вы получаете, может помочь нам указать вам направление решения. Общее сообщение «Ошибка подключения к базе данных», которое вы написали, не даст никому понятия о том, что на самом деле пошло не так. Но я уверен, что mssql_error() может!