Instalando SQL Server e conectando com PHP

Ronaldo B.

O SQL Server é um dos Bancos de Dados mais famosos e conhecidos no mundo, sendo usado bastante no ambiente corporativo. Neste artigo, iremos aprender a instalar o SQL Server em nosso computador e a realizar a conexão dele com o PHP. Vamos ver quais podem ser os desafios para realizar essa conexão e quais são os melhores caminhos para resolvê-los.

Instalando o SQL Server

Para realizar a instalação do SQL Server 2019, iremos acessar a página com as opções de downloads no site da Microsoft.

O SQL Server por padrão é pago. Contudo, podemos fazer o download do SQL Server Express, uma versão gratuita desse Banco. Escolheremos a seguinte opção:

Versão Express do SQL Server no navegador

Após realizar o download, iremos iniciar a instalação. A primeira janela que veremos vai exibir três opções de instalação. Iremos selecionar a instalação básica, que irá instalar as configurações padrão do SQL Server:

Opções de instalação no SQL Server

Em seguida veremos uma janela com os Termos de Uso do SQL Server. Basta clicar em “Aceitar” (como sempre fazemos em qualquer instalação ?).

Termos de uso no instalador do SQL Server

A seguir veremos a janela com o local de instalação do SQL Server, e podemos selecionar a pasta que desejarmos. Daí, basta clicar em “Instalar” e aguardar o processo ser finalizado:

Opção de local de instalação do SQL Server

Após a instalação, veremos a seguinte mensagem de sucesso:

Mensagem de sucesso na instalação do SQL Server Express

Instalando SSMS

Agora que instalamos o serviço do SQL Server no computador, precisamos instalar a interface gráfica onde poderemos gerenciar nossas conexões e nossos Bancos de Dados. No SQL Server, essa interface se chama “SQL Server Management Studio”, ou SSMS. Note que na própria janela que informa o sucesso da instalação, podemos ver um botão para instalar essa interface:

Opção para instalar o SSMS

Ao clicar nessa opção, seremos redirecionados para este site:

Site de download do SSMS

Iremos clicar no link azul para realizar o download do SSMS.

Após o download concluído, iremos iniciar a instalação. A primeira janela de instalação nos mostrará o local onde o SSMS será instalado e podemos mudar a pasta se desejarmos. Daí, basta clicar em “Install”:

Primeira janela de instalação do SSMS

Será iniciado o processo de instalação dos pacotes desta interface em nosso computador. Assim que o SSMS for instalado, será requisitado que reiniciemos o computador:

Mensagem de sucesso da instalação do SSMS

Depois que o computador for reiniciado, veremos a opção do SSMS em nosso Menu Iniciar. Na imagem abaixo, ele é a quarta opção:

SSMS no Menu Iniciar do Windows

Ao iniciar essa interface, será requisitado que façamos nossa autenticação. Em nosso caso, escolheremos a opção “Windows Authentication”:

Janela de autenticação no SSMS

Isso fará com que estejamos logados no SQL Server. Contudo, para conectá-lo com o PHP, é mais comum possuir um usuário e senha. Iremos realizar essa configuração agora. Para isso, iremos clicar com o botão direito em Security > New > Login.

Opção de criar um novo login

Na janela a seguir, iremos selecionar a opção SQL Server authentication e então informar um nome para nosso usuário e uma senha para ele. No nosso caso, nosso usuário se chamará “hcode” e a senha será “root”:

Criando um usuário no SSMS

A próxima configuração que iremos realizar é quanto aos privilégios que esse usuário irá possuir. Para adicioná-los, vamos clicar em “Server Roles”, que estará em nosso menu esquerdo. Nessa janela, daremos a este usuário os privilégios “public” e “sysadmin”:

Janela para adicionar privilégios ao usuários

Lembrando que só estamos fornecendo esses privilégios ao usuário pois estamos em uma máquina de desenvolvimento. No dia a dia esses privilégios são gerenciados pelo DBA da empresa e são delegados com muita atenção e cautela.

Após essa configuração, basta clicar em “Ok”, no rodapé da página, e possuíremos um novo usuário autenticado em nossa interface.

Contudo, isso não será o suficiente para autenticar o nosso usuário quando o conectarmos ao PHP. Um último ajuste é necessário. Vá até o nome do nosso usuário principal do SQL Server, clique com o botão direito sobre ele e então clique em Propriedades:

Propriedades do nosso usuário

Na janela que abrirá, clique em Security, que estará no menu à esquerda e então selecione a opção “SQL Server and Windows Authentication mode”:

Definindo o tipo de autenticação ao SQL Server

Quantas configurações, não é mesmo? Mas agora chegamos ao fim e estamos preparados para criar nosso primeiro Banco de Dados.

Criando nosso primeiro Banco de Dados no SQL Server

Agora que a instalação e configuração do SQL Server foi concluída, vamos criar nosso primeiro Banco de Dados. Para isso, iremos clicar com o botão direito em Databases e selecionar a opção New Database:

Opção para criar um novo Banco de Dados

Na janela que abrirá veremos a opção de criar o nome do Banco de Dados e o definiremos como “hcodedb”. Depois clicaremos em “Ok” e teremos um novo Banco de Dados criado:

Janela para criação de um novo Banco de Dados

Nosso Banco de Dados irá aparecer no menu esquerdo de nossa interface. Para criar nosso primeiro projeto iremos clicar com o botão direito nele e então selecionar “New Query”:

Opção de criar uma nova consulta no Banco de Dados

Será aberta uma janela em branco onde poderemos executar nossos códigos. Vamos criar uma tabela de usuários, com o seguinte script:

CREATE TABLE users (
	id INT PRIMARY KEY NOT NULL IDENTITY,
	name VARCHAR(64) NOT NULL,
	age INT NOT NULL
);

Apenas lembrando que para executar um comando no SQL Server, precisamos selecionar as linhas que queremos executar e pressionar F5 ou Ctrl + R.

Após ter a tabela criada, iremos populá-la com alguns registros, usando o seguinte script:

INSERT INTO users (name, age) VALUES ('João Rangel', 25), ('Glaucio Daniel', 26), ('Djalma Sindeaux', 27);

Ao selecionar os dados da tabela de usuários, veremos o seguinte resultado:

Resultado do SELECT na tabela de usuários

Nosso Banco de Dados já está funcionando, o que é excelente. O próximo passo é conectar o PHP ao SQL Server. Iremos utilizar a versão 7.4.6 do PHP, instalada através do XAMPP. 

Para realizar a conexão com o SQL Server, precisaremos antes baixar algumas DLLs. Mas, o que são DLLs?

O que são DLLs

DLL significa “Dynamic Link Library” (Biblioteca de Vínculo Dinâmico). É um arquivo que possui códigos que podem ser executados por diferentes programas ao mesmo tempo. As várias funcionalidades do PHP consistem em usar DLLs. A maioria dos recursos dessa linguagem já vem com as DLLs definidas em sua estrutura, como o MySQL, por exemplo. Contudo, as DLLs do SQL Server não vêm definidas por padrão. Precisamos realizar o download delas.

Para este download, iremos acessar a página oficial da Microsoft no GitHub.

Esta página lista várias versões de drivers do SQL Server para o PHP. Iremos selecionar a versão 5.8.0:

Página com as opções de download das DLLs do SQL Server

Ao abrir essa página, veremos uma lista de vários arquivos que contém as DLLs que desejamos. Iremos selecionar o arquivo .zip que contenha o nome do nosso Sistema Operacional junto com a versão do nosso PHP. No meu caso, será o Windows, com a versão 7.4:

Arquivo zip com a versão 7.4 do PHP no Windows

Após realizar o download, iremos extrair a pasta que contém as nossas DLLs. Iremos notar que essa pasta possui duas opções: x64 (Computadores em 64 bits) e x86 (Computadores em 32 bits). Podemos selecionar a pasta que corresponde à arquitetura de nosso computador.

Iremos colar essas DLLs na pasta xampp/php/ext. Depois, precisamos fazer referência a essas DLLs em nosso arquivo php.ini, que fica na pasta xampp/php. Iremos adicionar as seguintes configurações a este arquivo:

extension=php_pdo_sqlsrv_74_nts.dll
extension=php_pdo_sqlsrv_74_ts.dll
extension=php_sqlsrv_74_nts.dll
extension=php_sqlsrv_74_ts.dll

Elas serão definidas por volta da linha 910 do arquivo php.ini.

DLLs no arquivo php.ini

Precisamos reiniciar o nosso servidor do XAMPP. Por fim, vamos realizar a requisição para o SQL Server usando o PHP com PDO. Criaremos um arquivo chamado index.php e ele terá o seguinte conteúdo:

<?php

$connection = new PDO("sqlsrv:Database=hcodedb;server=localhost\SQLEXPRESS", "hcode", "root");

$statement = $connection->prepare("SELECT * FROM users;");

$statement->execute();

$users = $statement->fetchAll(PDO::FETCH_ASSOC);

?>

Neste código nós criamos uma conexão com o SQL Server e informamos uma query para ser executada no Banco, que irá selecionar todos os usuários cadastrados. Armazenamos o resultado da consulta em uma variável chamada $users.

Lembrando que explicamos em detalhes a função de cada um dos métodos acima em nosso Curso Completo de PHP 7, onde aprendemos todos os conceitos do PHP e desenvolvemos um projeto real incrível, com mais de 130 aulas e 33 horas de conteúdo.

Para exibir esses dados em nossa página, usaremos um código HTML, que possuirá uma tabela posicionada através do Flexbox. O conteúdo do arquivo será este:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lista de Usuários</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
        }
        table, th, tr, td {
            padding: 10px;
            font-size: 25px;
            border-collapse: collapse;
        }
        table, th {
            border: 2px solid #FF760C;
        }
        td {
            border-bottom: 1px solid #8395a7;
            border-right: 1px solid #8395a7;
        }
    </style>
</head>
<body>

    <table>
        <thead>
            <tr>
                <th>Nome do Usuário</th>
                <th>Idade</th>
            </tr>
        </thead>

        <tbody>

            <?php foreach ($users as $user): ?>
                <tr>
                    <td><?php echo $user['name'] ?></td>
                    <td><?php echo $user['age'] ?></td>
                </tr>
            <?php endforeach; ?>

        </tbody>
</table>

</body>
</html>

O resultado no navegador será o seguinte:

Resultado de nosso código no navegador

Excelente, nosso código funcionou!!! A nossa conexão com o SQL Server foi bem sucedida e agora nossos dados estão sendo carregados de maneira dinâmica ?.

Você pode encontrar o código completo desenvolvido neste artigo em nosso GitHub: https://github.com/hcodebr/blog-php

O SQL Server é um Banco de Dados muito poderoso e neste artigo aprendemos como dar o pontapé inicial para criar grandes projetos com essa incrível ferramenta para nosso Desenvolvimento.

Obrigado por ter lido até aqui e até o próximo artigo :)

Hcode: Utilizamos cookies para a personalização de anúncios e experiências de navegação dentro de nosso site. Ao continuar navegando, você concorda com as nossas Política de Privacidade.