Como acessar o banco de dados SQL Server usando PHP?

A conexão ao Microsoft SQL Server via PHP pode ser feita de diferentes maneiras, dependendo da versão do PHP e das extensões habilitadas.
O antigo conector mssql_* foi removido nas versões mais recentes do PHP, sendo substituído pelo SQLSRV (Windows) ou PDO/ODBC (Windows/Linux).

A seguir, um exemplo de conexão utilizando PDO (compatível com PHP moderno):

<?php
// Dados de conexão
$host     = "hostbanco";       // Endereço do servidor SQL Server
$db       = "nomebanco";       // Nome do banco de dados
$user     = "nomeusuario";     // Usuário do banco
$password = "senhabase";       // Senha do usuário
$tabela   = "nometabela";      // Nome da tabela
$campo1   = "campo1tabela";    // Nome do primeiro campo
$campo2   = "campo2tabela";    // Nome do segundo campo

try {
    // Conexão usando PDO com driver SQL Server (sqlsrv)
    $dsn = "sqlsrv:Server=$host;Database=$db";
    $conn = new PDO($dsn, $user, $password);

    // Define o modo de erro para exceções
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Monta e executa a consulta
    $sql = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1";
    $stmt = $conn->query($sql);

    // Obtém e exibe os resultados
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row[$campo1] . " - " . $row[$campo2] . "<br>";
    }

} catch (PDOException $e) {
    echo "Erro na conexão: " . $e->getMessage();
}
?>

Observações importantes:

  • Extensão necessária:
    • Windows: habilitar php_sqlsrv.dll no php.ini.
    • Linux: instalar pdo_sqlsrv ou usar conexão via ODBC.
  • Versões antigas do PHP: Se estiver usando PHP < 7.0, é possível utilizar o antigo mssql_connect, mas não é recomendado por questões de segurança e suporte.
  • Sempre utilize tratamento de erros e prepared statements para evitar SQL Injection.

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.