PHP com banco de dados Access

Júlio César Martini
em PHP

Fala galera!

Devido a muitos pedidos, estarei disponibilizando essa semana
um artigo que explica passo a passo a conectar o PHP à
base de dados Access. A turma do OpenSource que me perdoe
(risos), mas não teve jeito, tinha que publicar essa
matéria sobre o produto da Microsoft.

Vamos lá:

Para fazer a conexão com o Access, vamos primeiramente
habilitar o driver dele para que se possa estabelecer conexões
via ODBC.

Faça o seguinte:

1. Clique em Iniciar > Painel de Controle > Fontes
de Dados ODBC (32 Bits)
2. Escolha a aba NFD de sistema.

3. Clique em Adicionar e escolha Microsoft Access
Driver(*.mdb) da lista e clique em Finalizar.
4. Na tela que se abrir digite o seguinte:
– Nome da fonte de dados: access (você pode dar o nome
que quiser) e depois clique em Criar…

– Dê um nome para a base de dados (teste.mdb) e clique
em OK.

– Depois de ter feito isso, abra o teste.mdb no Access e crie
uma tabela (tb_clientes) conforme o modelo abaixo:

Nome
do campo
Tipo
de dados
id AutoNumeração
nome texto
endereço texto
email texto
telefone texto


Insira alguns dados nessa tabela para que possamos desenvolver
um exemplo prático.

Exemplo prático:

Vamos desenvolver um script simples que tem por finalidade se
conectar ao banco de dados Access e listar os dados cadastrados
na tabela de clientes.

Arquivo: access.php

<?
$con = odbc_connect(“access”,””,””) or die(“Erro na conexão
com o Database”);
$sql = odbc_exec($con,”SELECT * FROM tb_clientes”);
$i=0;
while(odbc_fetch_row($sql)) {
    $i++;
    echo odbc_result($sql,”id”);
    echo odbc_result($sql,”nome”);
    echo odbc_result($sql,”endereco”);
    echo odbc_result($sql,”email”);
    echo odbc_result($sql,”telefone”);
    echo “<br>”;
}
?>

Depois de ter feito esse arquivo, basta ir ao navegador e digitar
o seguinte endereço http://localhost/access.php

Esse é um exemplo bem simples de conexão com o
banco de dados Access que tem por finalidade listar os dados
da tabela tb_clientes. Veja que fizemos uso das funções
ODBC do PHP.

Qualquer dúvida sobre sintaxe de comandos é sempre
bom dar uma olhada na documentação do PHP que
se encontra em http://www.php.net/manual/en/

Não deixe de nos enviar críticas ou sugestões para o próximo
assunto, afinal a coluna é de vocês.

Mensagem do anunciante:

Em apoio à evangelização do WordPress, os cursos da Apiki são gratuitos para que você possa se especializar na plataforma que mais cresce no mundo. Vagas limitadas, Inscreva-se agora.

Júlio César Martini

atualmente presta serviços de WebMaster/Programador para o UOL (http://www.uol.com.br), Graduado em Tecnólogo em Informática pela UNIFIAN - Faculdades Anhanguera e Pós-Graduado em Desenvolvimento de Software para Web pela UFSCAR. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e trabalha com PHP desde 2000. Site: http://www.juliocesarmartini.com

Comentários

Para comentar no iMasters você precisa estar logado.

O iMasters possui mais de 13 mil textos publicados, em 13 anos já somos uma comunidade de mais 350 mil pessoas. Cadastre-se agora mesmo GRATUITAMENTE e tenha acesso a todo o mundo iMasters.

Já tenho conta Quero me cadastrar
  1. Interessante a Matéria!

    Eu ja tenho um db em access e estou aprendendo a manusear com o PHP …. poderia sair mais matérias a respeito …. inclusive poderia postar uma matéria sobre como se logar num site usando access e PHP …!

    PG

  2. Funcionou perfeitamente o tutorial. Mas se eu quiser hospedar um site com banco de dados como configuro o servidor para acessar o banco de dados, já que a conexão foi feita no meu localhost?

  3. Maravilhosa a materia, mais gostaria de saber algo um pouquinho mais avanção!

    como eu poderia conectar, hospedando meu site em um host (php+mysql) em um outro host (asp+access) isso é possivel??

  4. consequi fz a conexão php access como faço para alimentar o banco access com php e como fazer um consulta informando um dado pela pagina php para ver se aquela pessoa esta no meu banco de dados ou não ….thanks

  5. Como eu faço no servidor?? Com os arquivos já publicados?

    Pq tenho um arquivo em access e preciso fazer além ca conexão e consulta, adicionar dados em um campo que chama nota-2 e não consegui nem conectar muito menos exibir e adicionar!!!

    Alguém me ajude por favor!!!

    meu email é viniciussantos301@msn.com

  6. Fiz tudo que esta no artigo so que esta dando esta msg:
    Warning: SQL error: [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query ‘TabRelaKits’. Make sure it exists and that its name is spelled correctly., SQL state S0002 in SQLExecDirect in c:\apache\apache\htdocs\testemdb.php on line 3

    Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource in c:\apache\apache\htdocs\testemdb.php on line 5
    o access que estou usando é o 97, tem problema de ser ele?

  7. Caras mil desculpas… eu tinha duas bases de dados a oficial e a que estou modificando a tabela que tinha feito referencia esta so em uma, então é logico que não achava a tabela.. foi mal….
    a dica é muito boa, e deu certo
    obrigado

  8. Muito bom artigo!! mas e para fazer uma consulta em uma tabela, como eu faço a restrição para imprimir na tela somente o “cliente” q desejo saber os dados??

  9. Como eu faço para acessar um bd em acces em outro servidor que não seja o do host em que esta o comando php?
    Como eu faço pesquisas no bd?

  10. Gostaria de saber como é que vejo os dados inseridos no Access abrindo o arquivo que foi salvo em php ou seja o arquivo da lição:PHP com banco de dados Access,chamado
    Arquivo: access.php
    Obrigado

  11. Estou fazendo um formulariozinho simples, com nome, e-mail, telefone e sugestões e gostaria que alguém, pelo amor amor de Deus, ainda hoje, me dê uma ajuda na seguinte questão:

    eu gostaria que o cliente acessasse meu site, e se cadastrasse e enviasse os dados com as sugestões e críticas e isso ficasse slavo no servidor. Eu fiz um PHP básico mas não sei conectar com banco de dados. o que eu preciso é o seguinte… saber como criar o arquivo, ou seja, já criei o formulário e o banco de dados, agora eu preciso saber COMO É O CÓDIGO para conectar o banco de dados e ONDE inserir este código, ou se eu tenho q criar um novo arquivo….?! e depois de funcionar na minha máquina, como fazer funcionar no servidor…

    se tiverem um manual com exemplo, por favor, me enviem para israelboff@hotmail.com ou me expliquem por aqui mesmo.

    abraço!! e muito obrigado!!

  12. Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Driver ODBC para Microsoft Access] O mecanismo de banco de dados Microsoft Jet não pode abrir o arquivo ‘(desconhecido)’. Ele já foi aberto em modo exclusivo por outro usuário ou você precisa de permissão para exibir seus dados., SQL state S1000 in SQLConnect in C:\Inetpub\wwwroot\TT\access.php on line 2
    Erro na conexão com o Database

  13. Olá!

    estou começando a usar php agora, queria saber como faço pra inserir no banco os campos de um formulário!

    Ex: tabela Publicação
    – publicaçãoId
    – Titulo
    – texto

    vlw

  14. Fiz um cadastro com PHP e mdb num server q tem windows e linux pergunto: Onde vai o mdb? No msm diretorio dos arquivos PHP (Linux) ou no Dir do windows?

  15. Jaqueline e Evalmir

    Não sei se vcs sabem, mas para poderem rodar o arquivo access.php, vcs precisam estar utilizando um servidor php (usbwebserver ou o wamp, por exemplo)

    1. uso o easy php, mas da esses erros

      Alex

      uso easyphp, criei o odbc, o bd esta dentro do c: e tbm esta dentro da pasta que acesso o arquivo access.php, mas nao acessa e da os seguintes erros poderia me ajudar?

      Erro =

      Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Driver ODBC para Microsoft Access] O mecanismo de banco de dados Microsoft Jet n?o encontrou a tabela de entrada ou consulta ‘tb_clientes’. Certifique-se de que ela existe e de que seu nome est? digitado corretamente., SQL state S0002 in SQLExecDirect in C:\EasyPHP\www\teste\access.php on line 3

      Warning: odbc_fetch_row() expects parameter 1 to be resource, boolean given in C:\EasyPHP\www\teste\access.php on line 5

      isso usando esse script

      <?php
      $con = odbc_connect("access","","") or die("Erro na conexão com o Database");
      $sql = odbc_exec($con,"SELECT * FROM tb_clientes");
      $i=0;
      while(odbc_fetch_row($sql)) {
      $i++;
      echo odbc_result($sql,"id");
      echo odbc_result($sql,"nome");
      echo odbc_result($sql,"endereco");
      echo odbc_result($sql,"email");
      echo odbc_result($sql,"telefone");
      echo "“;
      }
      ?>

      Agora usando esse script não aparece nada fica tela em branco poderia me ajudar

  16. Julio, boa noite!

    Quero agradecer por ter dividido a informação. o seu script me ajudou a corrigir um erro que eu nãp estava identificando no meu.

    Segue Script do Login.php

    = 0){
    header(“Location: “.$url.”/Cadastros.html”);
    }
    else {
    header(“Location: “.$url.”/index.htm?erro=Login ou senha incorretos”);
    }
    echo $cprg;
    ?>

  17. Alex

    uso easyphp, criei o odbc, o bd esta dentro do c: e tbm esta dentro da pasta que acesso o arquivo access.php, mas nao acessa e da os seguintes erros poderia me ajudar?

    Erro =

    Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Driver ODBC para Microsoft Access] O mecanismo de banco de dados Microsoft Jet n?o encontrou a tabela de entrada ou consulta ‘tb_clientes’. Certifique-se de que ela existe e de que seu nome est? digitado corretamente., SQL state S0002 in SQLExecDirect in C:\EasyPHP\www\teste\access.php on line 3

    Warning: odbc_fetch_row() expects parameter 1 to be resource, boolean given in C:\EasyPHP\www\teste\access.php on line 5

    isso usando esse script

    <?php
    $con = odbc_connect("access","","") or die("Erro na conexão com o Database");
    $sql = odbc_exec($con,"SELECT * FROM tb_clientes");
    $i=0;
    while(odbc_fetch_row($sql)) {
    $i++;
    echo odbc_result($sql,"id");
    echo odbc_result($sql,"nome");
    echo odbc_result($sql,"endereco");
    echo odbc_result($sql,"email");
    echo odbc_result($sql,"telefone");
    echo "“;
    }
    ?>

    Agora usando esse script não aparece nada fica tela em branco poderia me ajudar

    Sendo que o banco de dados foi criado em odbc e o bd esta na mesma pasta do arquvo access.php

    E tbm esta na pasta C: onde foi criado…

Este projeto é mantido e patrocinado pelas empresas: