Seções iMasters
PHP

PHP com banco de dados Access

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:

Aprenda WordPress de uma vez por todas com os cursos especializados em WP do Apiki WP Cursos. Conheça!

Comente também

34 Comentários

Regis Rodrigues de Andrade

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

SÉRGIO S DE CARVALHO

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?

Valdinei

Como podemos fazer paginação através do resultado de nossa consulta

Maurício José Felismino

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??

olinto erlandes silva magalhães

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

Aristides

Como faço para abrir o mdb via PHP no linux?

Vinicius Santos Ribeiro

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

abcde@aol.com

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?

abcde@aol.com

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

Erackson Brito

puxa cara. brigadao!

vc salvou minha vida!

Cristiano Daitx Ribeiro

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??

Renato de Faria Degelo

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?

Miguel Gonçalves

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

LunG_ShiH

Não encontro a opção: Fontes de Dados ODBC (32 Bits), deve ainda ser instalado?

    eu tambem nao encontrei… vc sabe de alguma solução?
    bastante clara suas explicações, parabens!

    Jaqueline

    vao no painel de controle> ferramentas administrativas>Fontes de Dados(ODBC)

Israel Tavares Boff

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!!

Éder Alves

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

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

Tem como conectar ao access direto com o php sem odbc

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?

VALEU PESSOAL SES SÃO DE MAIS

bom msm.. mais queria saber como se faz para conectar o banco do acess com um formulario html junto com os scripts q vc fez…

o Meu script não funcionou. será porque?

adriano

será q algum de vcs teria um codigo de paginação o odbc??

flavio

como eu consigo monta uma tabela como os dados que recebo do access?

Jaqueline

eu nao consigo abrir o access.php no meu navegador

Evalmir

Testando o arquivo ocorreu o seguinte erro

“; } ?>

sabes dizer o pq?

Allex

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)

    michael

    preciso visualizar os dados do bd access como faço isso alguem sabe?

    michael

    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

Julio Cesar

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;
?>

michael

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…

Qual a sua opinião?