http://www.php.net/manual/en/mssql.installation.php
L'extension MSSQL est activé par l'ajout d'extension = php_mssql.dll à php.ini. Pour que ces fonctions fonctionnent, vous devez compiler PHP avec --with-mssql [= DIR], où DIR est le préfixe d'installation FreeTDS. Et FreeTDS devrait être compilé en utilisant --enable-msdblib.
également
fonctions MS SQL sont des alias pour Sybase fonctions si PHP est compilé avec l'extension Sybase et MS SQL sans extension.
<Modifier>
Juste une question. Avez-vous une fonction mssql_connect
? Ou la connexion échoue-t-elle? Si la connexion échoue, assurez-vous d'activer TCP/IP dans MSSQL (à l'aide de SQL Server Configuration Manager). Et j'ai aussi rappelé avoir activé Named Pipes, mais je ne suis pas sûr que ce soit nécessaire.
</Modifier >
Comme alternative vous pourriez regarder COM et ADODB.
Exemple de COM et ADODB, la connexion à SQL Server à l'aide de l'authentification 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;
Ensuite, exécutez une commande
$this->m_comm->CommandText=$sql;
$res=$this->m_comm->Execute();
extraire ensuite les données
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;
ne suis pas sûr accélérer sur beaucoup de demandes, mais c'est un bon moyen de le faire sans trop de bruit, et en utilisant DSN s avec lequel vous pouvez spécifier beaucoup plus que d'utiliser les paramètres de la fonction.
EDIT: Vous pouvez définir votre propre mssql_connect(), mssql_command(), etc., en utilisant ADO. C'est une solution de contournement si l'extension régulière mssql ne fonctionne pas.
Avez-vous redémarrer Apache après avoir fait la DLL et les changements php.ini? –
pouvez-vous poster les codes d'erreur ou messages d'erreur aussi – KoolKabin
@Jarrod oui je l'ai fait – bsanneh