10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Artigo
Invista em você! Saiba como a DevMedia pode ajudar sua
carreira.
Conectando no SQL Server utilizando
PDO em PHP
Neste conteúdo você aprenderá a conectar no Banco de Dados SQL Server utilizando PDO em
PHP. PDO é uma classe desenvolvida especi camente para trabalhar com procedimentos
relacionados a BDs.
Marcar como lido Anotar
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 1/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Ir para o código
Conectando no SQL Server utilizando PDO em …
PDO (PHP Data Objects)
Neste conteúdo você aprenderá a con gurar o driver de conexão com o Banco de
Dados SQL Server da Microso e criar uma conexão com esse BD utilizando o
PDO (PHP Data Objects) e a linguagem PHP.
Para entender como funciona uma conexão utilizando o PDO, observe a Figura 1:
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 2/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Figura 1. Conexão utilizando PDO
A extensão PDO de ne uma interface leve e consistente para acessar bancos de
dados em PHP. Cada driver de banco de dados que a implementa pode utilizar os
métodos para comunicação com o Banco de Dados. Observe que não é possível
executar nenhuma função de banco de dados usando a extensão PDO por si só:
você deve usar um driver PDO especí co do banco de dados para acessar um
servidor.
O PDO fornece uma camada de abstração de acesso a dados, o que signi ca que,
independentemente do banco de dados que você está usando, as funções para
emitir consultas e buscar dados são as mesmas. O PDO não fornece uma
abstração de banco de dados, ou seja, ele não reescreve o SQL ou simula
recursos faltantes. Você deve usar uma camada de abstração completa se
precisar dessa facilidade.
Veja na Figura 2 os drivers implementados no PDO.
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 3/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Figura 2. Drivers suportados pelo PDO conforme a documentação do PHP no site
php.net
Agora vamos efetuar o download do driver do SQL Server para PHP no site da
Microso .
Após efetuar o download, descompacte os arquivos e os copie para o diretório ext,
conforme mostra a Figura 3. Como estamos usando o XAMPP, esse arquivo ca
localizado em c:\xampp\php .
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 4/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Figura 3. Copiando os arquivos para diretório c:\xampp\php\ext
Em seguida, edite o arquivo c:\xampp\php\php.ini inserindo o código abaixo para
con gurar o driver de conexão com o Banco de Dados:
1 extension=php_pdo_sqlsrv_7_ts_x86.dll
2 extension=php_sqlsrv_7_ts_x86.dll
A inserção deve ser feita conforme a Figura 4.
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 5/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Figura 4. Adicionando as linhas dos drivers SQL Server
Após efetuar esta con guração você vai reiniciar o seu servidor web (XAMPP)
conforme a Figura 5:
Figura 5. Reiniciando o servidor web (XAMPP).
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 6/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Para efetuar a conexão com o Banco de Dados SQL Server usaremos o seguinte
código.
1 <?php
2
3 class Conexao
4 {
5 private static $connection;
6
7 private function __construct(){}
8
9 public static function getConnection() {
10
11 $pdoConfig = DB_DRIVER . ":". "Server=" . DB_HOST . ";";
12 $pdoConfig .= "Database=".DB_NAME.";";
13
14 try {
15 if(!isset($connection)){
16 $connection = new PDO($pdoConfig, DB_USER, DB_PASSWORD);
17 $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTI
18 }
19 return $connection;
20 } catch (PDOException $e) {
21 $mensagem = "Drivers disponiveis: " . implode(",", PDO::getAvailableD
22 $mensagem .= "\nErro: " . $e->getMessage();
23 throw new Exception($mensagem);
24 }
25 }
26 }
Linhas 11 e 12: Aqui temos a string de conexão com BD. No SQL Server é
necessário utilizar os parâmetros Server e Database.
Linhas 14 a 24: Criamos a instância do PDO e a retornamos no método
getConnection() da classe Conexao.
Veja como vamos utilizar a classe de conexão e efetuar uma consulta trazendo
algumas informações do Banco de Dados:
1 <?php
2 define('DB_HOST' , "servertestefabio.database.windows.net");
3 define('DB_USER' , "fabio");
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 7/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
4 define('DB_PASSWORD' , "Devmedia123");
5 define('DB_NAME' , "dbtestefabio");
6 define('DB_DRIVER' , "sqlsrv");
7
8 require_once "Conexao.php";
9
10 try{
11
12 $Conexao = Conexao::getConnection();
13 $query = $Conexao->query("SELECT nome, preco, quantidade FROM produt
14 $produtos = $query->fetchAll();
15
16 }catch(Exception $e){
17 echo $e->getMessage();
18 exit;
19 }
20
21 ?>
22 <table border=1>
23 <tr>
24 <td>Nome</td>
25 <td>Preço</td>
26 <td>Quantidade</td>
27 </tr>
28 <?php
29 foreach($produtos as $produto) {
30 ?>
31 <tr>
32 <td><?php echo $produto['nome']; ?></td>
33 <td>R$ <?php echo $produto['preco']; ?></td>
34 <td><?php echo $produto['quantidade']; ?></td>
35 </tr>
36 <?php
37 }
38 ?>
39 </table>
Linhas 2 a 6: Temos as constantes para de nir as con gurações de conexão com o
Banco de Dados.
Linha 8: Incluímos o arquivo da classe Conexao.
Linhas 10 a 19: Efetuamos a consulta no Banco de Dados. Caso ocorra algum erro
será exibida uma mensagem em tela e a aplicação será nalizada.
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 8/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Linhas 22 a 39: Utilizamos uma estrutura de repetição (foreach) para iterar sobre
o resultado do BD e imprimir em tela.
Sugestão de conteúdo
Curso Como preparar um ambiente PHP com o XAMPP
Marcar como lido Anotar
Por Fabio
Em 2017
Este artigo faz parte do curso
Introdução ao PHP
RECEBA NOSSAS NOVIDADES
Informe o seu e-mail
Receber Newsletter
Suporte ao aluno - Deixe a sua dúvida.
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 9/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
ASSINATURA DEVMEDIA
Fa?a parte dessa comunidade 100% focada em programação e tenha acesso
ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais
dinâmica e ef iciente. Portanto, se você quer programar de verdade seu lugar é
aqui. Junte-se a mais de...
+ 800 MIL
PROGRAMADORES
69 ,90*
/ MÊS
Séries
Projetos completos
Cursos
Guias de carreiras
DevCasts
Desa os
Artigos
App
Suporte em tempo real
Assine
A assinatura é cobrado através do seu cartão de crédito. *Tempo mínimo de assinatura: 12
meses.
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 10/11
10/10/2019 PHP SQL Server: Conectando no SQL Server utilizando PDO em PHP
Plataforma para Programadores
Compre por telefone:
(21) 3593-6903
Revistas
Baixe o App
Fale conosco
Trabalhe conosco
Assinatura para empresas
Av. Ayrton Senna 3000, Shopping Via Parque,
grupo 3087 - Barra da Tijuca - Rio de Janeiro - RJ
Hospedagem web por Porta 80 Web Hosting
80
https://www.devmedia.com.br/conectando-no-sql-server-utilizando-pdo-em-php/38936 11/11