Você está na página 1de 3

Existem inúmeras funções do PHP para conectividade com o Microsoft SQL Server

(http://www.php.net/ref.mssql.php), documentadas detalhadamente no manual do


PHP. No entanto, você precisa somente de algumas destas funções para fazer uma
conexão simples e selecionar alguns dados:

. mssql_connect() - Abre uma conexão ao Microsoft SQL Server. Requer o nome do


Banco de dados, nome do usuário e senha;
. mssql_select_db() - Seleciona um Banco de dados no Microsoft SQL Server;
. mssql_query() - Emite a declaração SQL;
. mssql_fetch_array() - Coloca a linha de resultado de uma declaração SQL em um
vetor;
. mssql_free_result() - Libera os recursos em uso pela conexão atual;
. mssql_close() - Fecha a conexão atual.

Primeiro, você precisa saber o nome do seu Banco de dados e o nome do servidor em
que ele está armazenado. Você precisa também ter um nome de usuário e uma senha
válidos para ter acesso ao Banco de dados. Neste exemplo, o nome do Banco de dados
é BDsecreto armazenado em localhost, seu nome de usuário é bicho_papao e sua senha
é 4818. Inicie o seu código PHP criando uma variável de conexão:

$conexao = mssql_connect("localhost","bicho_papao","4818") or die ("Não foi possível


conectar ao Banco de dados.");

A função die() é utilizada para imprimir uma mensagem de erro e sair do script quando
a função solicitada não puder ser executada. Neste caso, die() será executada se a
conexão falhar. A mensagem de erro será exibida para que você saiba onde o erro
ocorreu ("Não foi possível conectar ao Banco de dados.") e não possibilitará a execução
de outras ações. Utilizando die() corretamente você aliviará muitas dores de cabeça
quando tiver que depurar seu código.

Nota: Se você tiver problemas ao fazer a conexão, tente utilizar uma string vazia para a
senha ("").

Se você conseguiu a conexão, o próximo passo é selecionar o Banco de dados e criar a


declaração SQL. Suponha que a tabela INFO_AMIGOS, utilizada nos exemplos
anteriores, exista em seu Banco de dados chamado BDsecreto. Crie uma variável de
Banco de dados como esta:

$bd = mssql_select_db("BDsecreto", $conexao) or die ("Não foi possível selecionar o


Banco de dados.");

Até agora, você disso ao PHP para conectar-se a um servidor e selecionar um Banco de
dados. Agora, pode enviar uma declaração SQL e, provavelmente, ver alguns
resultados.

Vamos utilizar a tabela INFO_AMIGOS supondo que você deseje ver os nomes, datas de
aniversário e cores favoritas dos seus amigos, ordenadas do mais velho para o mais
novo. Crie uma variável que contenha sua declaração SQL:

$sql = "SELECT NOME_COMPLETO, DATA_ANIVERSARIO, COR_FAVORITA FROM


INFO_AMIGOS ORDER BY DATA_ANIVERSARIO ASC";
Agora crie uma variável para receber o resultado da consulta, executada pela função
mssql_query(). A função mssql_query() usa dois argumentos: A conexão e as variáveis
da declaração SQL que você acabou de criar:

$resultado = mssql_query($sql, $conexao) or die ("Não foi possível executar a


consulta");

Para formatar o resultado contido em $resultado, primeiro separe os resultados por


linha, usando a função mssql_fetch_array():

while ($linha = mssql_fetch_array($resultado)) {


// Mais código aqui...
}

O loop while cria um vetor chamado $linha para cada registro no conjunto de resultado.
Para ver os elementos individuais do registro (NOME_COMPLETO, DATA_ANIVERSARIO,
COR_FAVORITA), crie variáveis específicas:

$nome_completo = $linha["NOME_COMPLETO"];
$data_aniversario = $linha["DATA_ANIVERSARIO"];
$cor_favorita = $linha["COR_FAVORITA"];

Você provavelmente deseja exibir os resultados em uma tabela HTML simples. Vamos
colocar estas declarações antes do início do loop while, para abrir o tag e criar os
campos cabeçalhos de linha:

echo "<TABLE BORDER=1>


<TR><TH>Nome completo</TH> <TH>Data de aniversário</TH> <TH>Cor
favorita</TH>
Depois de definir as variáveis dentro do loop while, exiba-as em uma tabela
formatada:<BR>
<TR><TD>$nome_completo</TD> <TD>$data_aniversario</TD>
<TD>$cor_favorita</TD></TR>";
}

O novo loop while poderá ser este:

while ($linha = mssql_fetch_array($resultado)) { $nome_completo =


$linha["NOME_COMPLETO"];
$data_aniversario = $linha["DATA_ANIVERSARIO"];
$cor_favorita = $linha["COR_FAVORITA"];
echo "<TR><TD>$nome_completo</TD> <TD>$data_aniversario</TD>
<TD>$cor_favorita</TD></TR>";

Depois do loop while, feche a tabela HTML:

echo "</TABLE>";

Finalmente, você deseja liberar os recursos usados para executar a consulta e fechar a
conexão com o Banco de dados. A falha em fazé-lo causa perda de memória e outros
erros de recurso:
mssql_free_result($resultado);
mssql_close($conexao);

O script completo para realizar uma conexão simples e seleção de dados a partir de um
Banco de dados em Microsoft SQL Server deve parecer-se com este:

<?php
/* Cria a conexão
Substitua pelo seu próprio nome de host, nome de usuário e senha */
$conexao = mssql_connect("localhost","bicho_papao","4818") or die ("Não foi possível
conectar ao Banco de dados.");
$bd = mssql_select_db("BDsecreto", $conexao) or die ("Não foi possível selecionar o
Banco de dados.");
$sql = "SELECT NOME_COMPLETO, DATA_ANIVERSARIO, COR_FAVORITA FROM
INFO_AMIGOS ORDER BY DATA_ANIVERSARIO ASC";
$resultado = mssql_query($sql, $conexao) or die ("Não foi possível executar a
consulta");
echo "<TABLE BORDER=1>
<TR><TH>Nome completo</TH> <TH>Data de aniversário</TH> <TH>Cor
favorita</TH>
Depois de definir as variáveis dentro do loop while, exiba-as em uma tabela
formatada:<BR>";
while ($linha = mssql_fetch_array($resultado)) {
$nome_completo = $linha["NOME_COMPLETO"];
$data_aniversario = $linha["DATA_ANIVERSARIO"];
$cor_favorita = $linha["COR_FAVORITA"];
echo "<TR><TD>$nome_completo</TD>
<TD>$data_aniversario</TD>
<TD>$cor_favorita</TD></TR>";
}
echo "</TABLE>";
mssql_free_result($resultado);
mssql_close($conexao);
?>

Veja o manual do PHP para informações adicionais sobre as funções do Microsoft SQL
Server e tente utilizar suas próprias tabelas e declarações SQL em vez dos exemplos
mostrados. Lembre-se, não utilize os comandos DELETE ou DROP a menos que já tenha
feito backup dos dados!

Você também pode gostar