(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_connect — Open MS SQL server connection
This function was REMOVED in PHP 7.0.0.
Alternatives to this function include:
Описание
mssql_connect() establishes a connection to a MS SQL server.
The link to the server will be closed as soon as the execution of the script ends, unless it’s closed earlier by explicitly calling mssql_close() .
Список параметров
The MS SQL server. It can also include a port number, e.g. hostname:port (Linux), or hostname,port (Windows).
If a second call is made to mssql_connect() with the same arguments, no new link will be established, but instead, the link >mssql_connect() always open a new link, even if mssql_connect() was called before with the same parameters.
Возвращаемые значения
Returns a MS SQL link identifier on success, or FALSE on error.
Список изменений
Версия | Описание |
---|---|
5.1.0 | The new_link parameter was added |
Примеры
Пример #1 mssql_connect() example
when using a non default port number
$server = ‘KALLESPCSQLEXPRESS’ ;
// Connect to MSSQL
$link = mssql_connect ( $server , ‘sa’ , ‘phpfi’ );
if (! $link ) <
die( ‘Something went wrong while connecting to MSSQL’ );
>
?>
Смотрите также
- mssql_close() — Close MS SQL Server connection
- mssql_pconnect() — Open persistent MS SQL connection
Недавно передо мной встала задача: работать с MS SQL из PHP. Поиск в Google по ключевым словам «php mssql» и подобным дал уйму ссылок с примерно одинаковой инструкцией:
— раскомментировать в php.ini строчку extension=php_mssql.dll;
— перезапустить Апач/Денвер;
— наслаждаться.
Однако выяснилось, что начиная с версии 5.3 в состав дистрибутива PHP это расширение не входит и, более того, не поддерживается. Для работы с MS SQL рекомендуется драйвер SqlSrv от Microsoft. Пошаговой инструкции по работе с ним найти не смог, поэтому после ряда проб и ошибок написал свою, которую и предлагаю вашему вниманию.
Первое, с чем придётся столкнуться — это соответствие версий PHP, MS SQL, SqlSrv и Windows.
SqlSrv доступен двух версий: 2.0 и 3.0. Версия 2.0 работает только c MS SQL 2008, при этом поддерживает PHP версий 5.2 и 5.3; версия 3.0 работает только с MS SQL 2012, а PHP поддерживает версий 5.3 и 5.4. При этом необходимо помнить, что MS SQL 2012 работает только под Windows Vista и выше.
На моей машине стоит Windows XP, поэтому были взяты: MS SQL 2008, PHP 5.3.5 и SqlSrv 2.0.
Сначала нужно установить сам сервер MS SQL; неожиданностей в установке нет, обо всех проблемах установщик сообщает вовремя и даёт возможность исправить. Желательно также установить MS SQL Server Management Studio: средство управления базами данных. Установка похожа на установку сервера.
Установка связки Apache+PHP описывалась много и подробно, так что здесь не будем её касаться.
Теперь нужно подключить SqlSrv к PHP. Скачанный с сайта Microsoft дистрибутив — это самораспаковывающийся архив с несколькими библиотеками .dll, для разных версий PHP. Так, я использовал php_sqlsrv_53_ts_vc6.dll. Здесь 53 − ветка PHP (5.3.x), ts − Thread Safe дистрибутив, vc6 − использованный компилятор. Если нужно, то эти сведения можно найти в первом же блоке phpinfo(). Подходящую библиотеку нужно скопировать в каталог ext, а также добавить в php.ini строчку
Если PHP только что установлен, нужно также не забыть раскомментировать строчку
PHP готов к работе. Осталось подготовить MS SQL; дело в том, что после установки у него отключены все клиентские протоколы, кроме «Общая память». Нужно их включить; делается это в приложении SQL Server Configuration Manager, идущая в комплекте с сервером.
Теперь все компоненты настроены, и можно проверять работу всей системы. Для этого подойдёт такой скрипт:
function FormatErrors( $errors )
<
echo "Error information:
";
foreach ( $errors as $error )
<
echo "SQLSTATE: ".$error[‘SQLSTATE’]."
";
echo "Code: ".$error[‘code’]."
";
echo "Message: ".$error[‘message’]."
";
>
>
$serverName = "Имя сервера"; // Имя сервера задавалось при установке; его также можно увидеть при запуске Management Studio
$conn = sqlsrv_connect( $serverName);
if( $conn === false )
Если всё правильно, то на экране будет строчка
И последнее: для работы с базой данных из PHP нужно использовать функции семейства sqlsrv_, а не mssql_.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
I want to use PHP to connect to sql server database.
I installed xampp 1.7.0(php 5.2) and SQLSRV20. I’ve added the extensions in php.ini and I get this error:
What does this error message mean and how do I connect to SQL Server?
12 Answers 12
enable mssql in php.ini
if your using sqlsrv_connect you have to download and install MS sql driver for your php. download it here http://www.microsoft.com/en-us/download/details.aspx? >
im using xampp version 5.5 so its name php_pdo_sqlsrv_55_ts.dll & php_sqlsrv_55_ts.dll
if you are using xampp version 5.5 dll files is not included in the link. hope it helps
Use localhost instead of your IP address.
And also double check your mysql username and password.
for further investigation: print out the mssql error message:
It is also important to specify the port: On MS SQL Server 2000, separate it with a comma: