Tutoriais e Ferramentas – Michel Carvalho Lopes
PHP
PHP com MS SQL Server
16/11/09
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 é DBanco armazenado em localhost, seu nome de usuário é user e sua senha é 1234. Inicie o seu código PHP criando uma variável de conexão:
$conexao = mssql_connect("<strong>localhost</strong>","<strong>user</strong>","1234") 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, exista em seu Banco de dados chamado DBanco . Crie uma variável de Banco de dados como esta:
$bd = mssql_select_db("<strong>DBanco </strong>", $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><tr><td>$nome_completo</td> <td>$data_aniversario</td> <td>$cor_favorita</td></tr>"; }</table>
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 "";
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"> <tbody> <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: "; while ($linha = mssql_fetch_array($resultado)) { $nome_completo = $linha["NOME_COMPLETO"]; $data_aniversario = $linha["DATA_ANIVERSARIO"]; $cor_favorita = $linha["COR_FAVORITA"]; echo "</tr> <tr> <td>$nome_completo</td> <td>$data_aniversario</td> <td>$cor_favorita</td> </tr> "; } echo ""; mssql_free_result($resultado); mssql_close($conexao); ?>; </tbody>
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!
Links úteis
Manual do PHP (referência sobre o Microsoft SQL Server):
Instalando PHP no IIS7
25/07/09
Instalando e configurando o IIS:
O IIS7 está disponível nas versões do Windows Vista ou posterior, para instalar o IIS talvez seja necessário ter o CD de instalação do Windows.
- Acesse o painel de controles. (Iniciar/Painel de Controles)
- Clique o ícone de Programas.
- Na área de programas e recursos clique em ativar ou desativar recursos do Windows.
- Na Janela de Recursos do Windows procure e expanda a opção Serviços de Informações da Internet.
- Expanda a opção Serviço da World Wide Web.
- Expanda a opção Recurso de Desenvolvimento de Aplicativos.
- Marque as opções CGI.
- Clique em OK.
- Aguarde a Instalação pode demoras alguns instantes.
Pronto depois de configurado o IIS, vamos configurar o ambiente para o Joomla.
Instalando PHP 5:
- Duplo clique no arquivo php-5.2.10-win32-installer.msi.
- Clique em Executar.
- Clique em Next.
- Selecione I accept the terms in the License Agreement, e clique em Next.
- Deixe o caminho da instalação C:\Program Files\PHP\, e clique em Next.
- Marque a opção IIS Fast-CGI, e clique em Next.
- Em Choose items to Install, clique em Script Executable e depois em Entire feature will be installed on local hard drive.
- Expanda a opção Extensions, e realize o mesmo procedimento acima para as Extensões (Mcrypt e MySQL).
- Clique em Next.
- Clique em Install.
- Aguarde que instalação termine.
- Clique em Finsh.

