PHP с SQL Server 2005+


3

В настоящее время мы имеем гибридную установку ASP/PHP, подключающуюся к базе данных SQL Server 2005. Но вся работа с запросами выполняется на стороне клиента, я хотел бы переместить часть этого на PHP.

Какой драйвер и/или строка подключения необходимы для подключения к Sql Svr и каков синтаксис для использования в PHP?


Обновление: ОК, так что я определенно пытался избежать использовать что-либо делать с копированием DLL, и т.д. Я изучу водителя SQL2K5PHP (спасибо Винсент). @jcarrascal для ясности, «клиентская сторона». Я имею в виду, что наше приложение является внутренним веб-приложением, которое работает как HTA, причем все запросы выполняются через вызовы javascript для ASP, который фактически отправляет запрос БД.

5

У вас есть два варианта:

1) php_mssql расширения: Если вы хотите что-то, что имеет тот же API MySQL и MySQLi имеет, а затем использовать расширение php_mssql. Но есть улов, связанный файл ntwdblib.dll с PHP не работает. Вы должны найти этот файл из установки SQL Server 2000 или найти его в Интернете. Этот API, предположительно, не очень надежный, но я использую его без проблем около года.

http://ca.php.net/mssql

2) Microsoft SQL Server 2005 PHP Driver: Если вы хотите что-то более современное, но которые не имеют один и тот же API и отсутствуют некоторые важные функции (mssql_num_rows). Большим плюсом является то, что он поддерживается Microsoft и, скорее всего, будет работать с будущей версией.

http://msdn.microsoft.com/en-us/data/cc299381.aspx


0

PHP предоставляет расширение для доступа к базам данных Microsoft SQL Server. Чтобы использовать расширение SQL Server, все, что требуется, - это активировать расширение в файле конфигурации PHP.

the MSDN page Подробная информация о


2

Просто используйте функцию mssql_connect(), как это:

$conn = mssql_connect('localhost', 'sa' , '123456') 
    or die('Can\'t connect.'); 
mssql_select_db('database', $conn) 
    or die('Can\'t select the database'); 

Функции, относящиеся к SQL Server определены в PHP manual for the MSSQL driver.

Один вопрос, однако, «вся работа с запросом выполняется на стороне клиента» WTF? : D