Neste artigo irei explicar como acessar os banco de dados do Microsoft Access através do PHP. Para acessar os arquivos do Access será usado o componente Microsoft ActiveX Data Objects (ADO), conhecido também como oledb. Portanto este método só funcionária se o PHP estiver sendo executado no Windows.
A primeira coisa é criar o objeto COM que será usado para acessar o banco de dados.
$conexao = new COM("ADODB.Connection");
Depois é necessário invocar o método Open para abrir a conexão com o banco de dados, passando como parâmetro o texto que representa a origem do banco de dados.
$conexao->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=meudb.mdb");
No exemplo acima, meudb.mdb é nome do arquivo MDB que estamos acessando.
Agora que o PHP está conectado ao banco de dados, para se executar uma consulta utiliza-se o método Execute que retorna um objeto Recordset.
$recordset = $conexao->Execute("select * from tabela1");
Para mostrar o resultados dessa consulta basta apenas utilizar o objeto recordset. Utiliza-se a propriedade EOF para verificar se recordset já chegou ao final e a propriedade fields para ler os campos. Ao final deve-se invocar o método MoveNext para passar para o registro seguinte.
while (!$recordset->EOF) {echo $recordset->fields["campo1"]->value;echo $recordset->fields["campo1"]->value;$recordset->MoveNext();}
Para encerrar a conexão utilize o método Close.
$conexao->Close();
3 comentários:
Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft JET Database Engine
Description: Não foi possível encontrar ISAM instalável.' in C:\wd\xampp\htdocs\nf\admin\consulta_vencendo.php:3 Stack trace: #0 C:\wd\xampp\htdocs\nf\admin\consulta_vencendo.php(3): com->Open('Provider=Micros...') #1 {main} thrown in C:\wd\xampp\htdocs\nf\admin\consulta_vencendo.php on line 3
Esse problema não está diretamente relacionado com o PHP mas com o Windows. Veja se você não informou a conexão corretamente. O certo é "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=meudb.mdb" (com espaço entre Data e Source).
Como posso realizar uma execução de uma linha de um modulo dentro do access apos esse acesso.
Postar um comentário