Você está na página 1de 11

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

Você também pode gostar