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 especificamente para trabalhar com procedimentos relacionados a BDs.
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
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo