http://www.php.net/manual/en/mssql.installation.php
Расширение MSSQL включено
добавив расширение = php_mssql.dll в
php.ini.
Чтобы заставить эти функции работать, вы должны скомпилировать PHP с
--with-mssql [= DIR], где DIR - это префикс установки FreeTDS. И FreeTDS
должен быть скомпилирован с использованием
--enable-msdblib.
также
Функции MS SQL являются псевдонимами функций Sybase , если PHP скомпилирован с расширением Sybase и без расширения MS SQL.
Просто спрашиваю. У вас есть функция mssql_connect
? Или соединение не удается? В случае сбоя подключения обязательно включите TCP / IP в MSSQL (с помощью диспетчера конфигурации SQL Server). И я также вспомнил о включении Named Pipes, но я не уверен, что это необходимо.
В качестве альтернативы вы можете посмотреть COM и ADODB.
Пример COM и ADODB, подключение к SQL Server с использованием аутентификации Windows:
$this->m_conn = new COM("ADODB.Connection");
$this->m_conn->CommandTimeout=1200;
$dsn="Provider=SQLNCLI;Data Source=server_name;Integrated Security=SSPI;Initial Catalog=database_name;Application Name=YourAppName - ".$user['name'];
$this->m_conn->Open($dsn);
if(!$this->m_conn)
throw new Exception("Could not start ADO",101);
$this->m_comm = new COM("ADODB.Command");
$this->m_comm->ActiveConnection=$this->m_conn;
$this->m_comm->CommandTimeout=1200;
Затем выполните команду
$this->m_comm->CommandText=$sql;
$res=$this->m_comm->Execute();
Затем извлеките данные
if(($num_cols=$res->Fields->Count())>=1)
{
$return=array();
while(!$res->EOF)
{
$row=array();
for($i=0;$i<$num_cols;$i++)
$row[$res->Fields($i)->name]=$res->Fields($i)->value;
$res->MoveNext();
$return[]=$row;
}
}
$res->Close();
return $return;
Не уверен насчет скорости при большом количестве запросов, но это хороший способ сделать это без особых хлопот и использовать DSN, с помощью которых вы можете указать гораздо больше, чем при использовании параметров функции.
EDIT :
Вы можете определить свои собственные mssql_connect (), mssql_command () и т. Д., Используя ADO. Это обходной путь, если обычное расширение mssql не будет работать.