Avançar para o conteúdo principal

PHP e base de dados MS Access

O PHP tem uma ligação natural ao MySQL no entanto é possível utilizar outros formatos de base de dados, nomeadamente o MS Access.
A via de ligação será o ODBC - Open Data Base Connectivity.
No Windows através do Painel de Controlo acedemos às Ferramentas Administrativas e escolhemos Origem de Dados, no Windows 7 a opção está em Sistema e Segurança e depois Ferramentas Administrativas.



Um problema que pode surgir nesta ferramenta é não existirem drivers (controladores) para o MS Access, mesmo tendo o MS Access instalado! Isto deve-se ao facto de o Windows ser 64bits e a aplicação e os respectivos drivers serem 32 bits, para resolver este problema devemos correr a mesma aplicação mas a versão de 32 bits que está em
Agora que temos a versão certa da ferramenta devemos selecionar o separador Controladores para verificar se temos ou não o controlador do MS Access
Confirmada que está a existência do driver vamos então criar uma ligação à nossa base de dados para que o PHP a possa manipular, assim vamos ao separador DSN de sistema e escolhemos o botão adicionar
De seguida escolhemos o formato da base de dados
E por fim indicamos o ficheiro da base de dados e um nome que posteriormente vamos utilizar no código PHP
Neste formulário preenchemos:
Nome da origem de dados com o nome que vamos utilizar no código PHP, Descrição com uma breve descrição que permita identificar a base de dados, depois escolhemos o botão seleccionar para procurar o ficheiro da base de dados propriamente dita.

Feito isto podemos então passar ao código PHP.

Para criar uma ligação à base de dados escrevemos:

$conn=odbc_connect("nome","utilizador","palavra_passe");

Esta instrução cria a ligação à base de dados, os parâmetros são nome que deve ser igual ao nome da origem de dados, não o nome da base de dados, utilizador e palavra_passe são as credenciais necessárias para aceder à base de dados, se não existirem não se preenche.

Para, por exemplo, listar os dados de uma tabela basta fazer:


if($conn){
$sql="Select * from clientes";
$linha=odbc_exec($conn,$sql);
while(odbc_fetch_row($linha)){
$ncliente=odbc_result($linha,1);
$nome=odbc_result($linha,2);
print('NºCliente:'.$ncliente.'</p>Nome:'.$nome.'</p>');
}
}

A instrução odbc_exec executa um comando SQL na base de dados, seja uma consulta ou uma alteração dos dados (inserção, actualização ou remoção).
A função odbc_fetch_row permite controlar o ciclo e recolher um registo.
Para referenciar os campos utilizamos a função odbc_result que recebe a variável associada ao registo e o número do campo a referenciar.

Partilhar no Facebook

Comentários

Mensagens populares deste blogue

Upgrade do Windows Home para Pro sem formatar

 Há algum tempo que tentava fazer o upgrade do meu Windows 10 da versão Home para a versão Pro, mas chegava sempre a um ponto em que me era solicitado para formatar o sistema e não estava para isso. Finalmente conseguinte seguindo estes passos: - seguinte estes passos  utilizei uma das chaves genéricas para o Windows 10 Pro e fui a Settings > Update & Security > Activation > Change the product key; - após inserir uma das chaves o Windows instala as funcionalidades Pro e pede para reiniciar; - agora tem o Windows Pro mas não está ativado, assim fui ao site urcdkeys  onde comprei uma chave para o Windows Pro por menos de €20; - com essa chave voltei a funcionalidade Change the product key e ativei o Windows; - e pronto, Windows Pro ativado sem formatar ou reinstalar. Importante : eu não tenho nada a ver com o site urcdkeys por isso a vossa experiência pode correr de forma diferente da minha.

Encriptar e Desencriptar

Com o .Net podemos facilmente codificar e descodificar mensagens através do namespace Cryptography. Neste post vamos estudar um programa que encripta um texto com base numa palavra passe e posteriormente descodifica a mensagem. Começamos por criar uma função para encriptar: string codifica(string mensagem, string ppasse) {   //este vector vai ficar com a mensagem encriptada   byte [] mensagem_codificada;  //vamos utilizar codificação UTF8   System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();   // Vamos utilizar o algoritmo MD5 para fazer o Hash da palavra passe   MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();   //Agora podemos então fazer o hash da palavra passe   byte[] TDESChave = HashProvider.ComputeHash(UTF8.GetBytes(ppasse));   //De seguida vamos escolher o algoritmo de encriptação   TripleDESCryptoServiceProvider TDESAlgoritmo = new TripleDESCryptoServiceProvider();   //Confi...

PONG em Flash AS3.0

Mais um pequeno jogo para demonstrar algumas das funcionalidades do AS3.0. Para este exemplo vamos implementar uma versão do Pong. Para este Pong vamos criar a possibilidade de acelerar a bola com a raqueta e, para tornar o jogo mais difícil, quando se atingir uma determinada pontuação fazemos aparecer uma parede no meio do campo de jogo. O código é muito parecido com o jogo do post anterior, mas um pouco mais complicado. Para controlar a nossa raqueta utilizamos a seguinte função: function teclado(e:KeyboardEvent):void{ dir_j1=0; if (e.keyCode == Keyboard.UP){ if(jogador1.y>0) jogador1.y -=5; dir_j1=-5; } if (e.keyCode == Keyboard.DOWN){ if(jogador1.y<370) jogador1.y +=5; dir_j1=5; } } Agora está mais simples pois só percorremos as linhas, ou seja, a coluna nunca muda. A raqueta que é controlada pelo computador depende do seguinte código: function movepc():void { if (bola.y>jogador2.y) jogador2.y = jogador2.y + velocidade_y; if (bola.y<jogador2.y) joga...