Se você tentar baixar a versão mais nova de PHP e usá-la para se conectar a um banco SQL Server, você poderá entrar em apuros ao utilizar código antigo. O problema é que as funções da família
mssql_* foram cortadas de PHP a partir da versão 5.3.
A Microsoft disponibiliza
uns dlls que trazem umas funções novas (não documentadas no site oficial de PHP) e o módulo PDO, mas eles não vêm com as funções mssql. Além disso, esses dlls não podem ser instalados em nenhuma versão do Windows anterior ao 7 ou Server 2008.
No meu caso, eu tive que conectar PHP a um banco SQL Server 2000 que rodava em um Windows Server 2003. Os dlls da Microsoft simplesmente não podiam ser usados.
A solução foi trocar as funções mssql para as funções
odbc_*, que são praticamente idênticas. As diferenças são as seguintes:
- Todas as funções começam com odbc_;
- A função odbc_exec é equivalente à mssql_query, mas exige que o primeiro argumento seja a conexão. No caso da mssql_query, isso podia ser omitido;
- No meu caso de teste, a função odbc_num_rows sempre retorna -1, o que significa que você não tem como saber a priori se uma consulta trouxe resultados ou não;
Pra finalizar as funções odbc de PHP já vem compiladas com a própria linguagem na versão para Windows, de forma que não é preciso mudar nada no
PHP.ini. Se você quiser usar essas funções no linux, então será preciso instalar algumas coisas e fazer um bocado de configurações que são assunto para um post futuro.