Vamos baixar o driver no site da Microsoft - c:\xampp\php\ext
Está na hora de configurar o php.ini e adicionar os drivers: extension=php_pdo_sqlsrv_7_ts_x86.dll e extension=php_sqlsrv_7_ts_x86.dll
Agora é só reiniciar o XAMPP apertando stop r start a seguir, dentro do programa Control Panel
Está tudo pronto e você já pode utilizar o PDO. A string de conexão é sqlsrv:Server=localhost;Database=teste;
$connection = new PDO(< string >, "usuário", "Senha");
PDO (PHP Data Objects)
Neste conteúdo você aprenderá a configurar o driver de conexão com o Banco de Dados SQL Server da Microsoft 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:
A extensão PDO define 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ífico do banco de dados para acessar um servidor.
O PDO fornece uma camada de abstração de acesso a dados, o que significa 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.
Agora vamos efetuar o download do driver do SQLServer para PHP no site da Microsoft.
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 fica localizado em c:\xampp\php.
Em seguida, edite o arquivo c:\xampp\php\php.ini inserindo o código abaixo para configurar o driver de conexão com o Banco de Dados:
Versão x86
extension=php_pdo_sqlsrv_73_ts_x86.dll
extension=php_sqlsrv_73_ts_x86.dll
Versão x64
extension=php_pdo_sqlsrv_73_ts_x64.dll
extension=php_sqlsrv_73_ts_x64.dll
A inserção deve ser feita conforme a Figura 4.
Após efetuar esta configuração você vai reiniciar o seu servidor web (XAMPP) conforme a Figura 5:
Para efetuar a conexão com o Banco de Dados SQL Server usaremos o seguinte código.
<?php
class Conexao
{
private static $connection;
private function __construct(){}
public static function getConnection() {
$pdoConfig = DB_DRIVER . ":". "Server=" . DB_HOST . ";";
$pdoConfig .= "Database=".DB_NAME.";";
try {
if(!isset($connection)){
$connection = new PDO($pdoConfig, DB_USER, DB_PASSWORD);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $connection;
} catch (PDOException $e) {
$mensagem = "Drivers disponiveis: " . implode(",", PDO::getAvailableDrivers());
$mensagem .= "\nErro: " . $e->getMessage();
throw new Exception($mensagem);
}
}
}
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:
<?php
define('DB_HOST' , "localhost");
define('DB_USER' , "sa");
define('DB_PASSWORD' , "devmedia");
define('DB_NAME' , "devmedia");
define('DB_DRIVER' , "sqlsrv");
require_once "Conexao.php";
try{
$Conexao = Conexao::getConnection();
$query = $Conexao->query("SELECT nome, preco, quantidade FROM produto");
$produtos = $query->fetchAll();
}catch(Exception $e){
echo $e->getMessage();
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Conexão PDO SQL Server</title>
</head>
<body>
<form>
<table border=1>
<tr>
<td>Nome</td>
<td>Preço</td>
<td>Quantidade</td>
</tr>
<?php
foreach($produtos as $produto) {
?>
<tr>
<td><?php echo $produto['nome']; ?></td>
<td>R$ <?php echo $produto['preco']; ?></td>
<td><?php echo $produto['quantidade']; ?></td>
</tr>
<?php
}
?>
</table>
</form>
</body>
</html>
Linhas 2 a 6: Temos as constantes para definir as configuraçõ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á finalizada.
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
Confira outros conteúdos:
Teste unitário com PHPUnit
PHP: Strings
PHP: Funções
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.