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:
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:
Em seguida veremos uma janela com os Termos de Uso do SQL Server. Basta clicar em “Aceitar” (como sempre fazemos em qualquer instalação ?).
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:
Após a instalação, veremos a seguinte mensagem de sucesso:
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:
Ao clicar nessa opção, seremos redirecionados para este site:
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”:
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:
Depois que o computador for reiniciado, veremos a opção do SSMS em nosso Menu Iniciar. Na imagem abaixo, ele é a quarta opção:
Ao iniciar essa interface, será requisitado que façamos nossa autenticação. Em nosso caso, escolheremos a opção “Windows Authentication”:
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.
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”:
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”:
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:
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”:
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:
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:
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”:
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:
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:
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:
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.
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:
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 :)