..
Introdução
A interação entre o PHP eo banco de dados encontra sua máxima expressão com o MySQL em ambos os sistemas Linux e Windows. PHP no Windows é capaz de trabalhar com outros bancos de dados do MySQL, explorando as características e interfaces necessárias pelo DBMS diferentes. PHP é capaz de trabalhar com o MS Access e MS SQL Server: Neste artigo vamos ver como o PHP interage com o Access.
A interface entre qualquer linguagem de programação, tanto WUI Web com SGBD da Microsoft, como o Access, ADO (ActiveX Data Objects), já conhecido por programadores ASP, ASP.NET e do Visual Basic.
Antes de começar com a explicação do ADO e sua utilização através do PHP e os primeiros a implementar os exemplos, sinto-me obrigado a dizer que o PHP em conjunto com um SGBD da Microsoft não é o mais aconselhável e desempenho, mas totalmente funcional.
Os conhecimentos necessários para a plena compreensão do presente artigo são:
Estrutura do banco de dados de teste
Para a implementação de alguns exemplo prático vamos criar o arquivo consiste na única tabela de usuários database.mdb Access, por sua vez, composto por campos id (balcão), nome (texto) e sobrenome (Texto).
Coloque seu banco de dados em seu servidor Web pessoal, Apache ou EasyPHP que, por exemplo, no teste de corrida
C: \ percorso_fisico \ database.mdbpercorso_fisico onde é o endereço físico do seu servidor Web pessoal, instalado, como no exemplo, a partição C.
O banco de dados está pronto. Continuamos.
Introdução ao ADO
ADO biblioteca da Microsoft que permite a interação com DBMS da própria Microsoft ou com outros SGBDs, por exemplo, com o MySQL para seu uso com ASP.
ADO oferece três objetos básicos: Connection, Recordset, Command and. Este artigo usa os dois primeiros, respectivamente, que servem para gerenciar a conexão e gerenciar dados. O terceiro é um assunto de especialistas, mas não muito bom mesmo por programadores que usam Microsoft estilo, exceto em ocasiões especiais.
(.): ASP nota Programadores Caros colegas :-) como eu você está acostumado a usar o ponto Para separar o nome da variável que contém, por exemplo, a conexão, o método ou propriedade a ser utilizada; em PHP, para a única interação com o ADO, o formulário é usado como um separador ->
Variável-> methodlembre-se disso!
Nós estabelecemos a conexão com o banco de dados
Agora crie um diretório em nosso teste servidor Web, por exemplo, o arquivo e inserir connessione.php phpaccess contendo o seguinte código:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb";
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = $ db;"
?>
A variável $ db contém o caminho físico do arquivo ea variável $ database.mdb sc contém a seqüência de conexão OLEDB ao banco de dados, este arquivo será incluído em todos os arquivos PHP que executam operações no banco de dados em questão.
Dados da leitura
Para fazer a leitura dos dados que criamos no servidor, na pasta de teste, o leggi.php arquivo; abaixo o código comentado no arquivo:
<html>
<head>
<title> Interação entre PHP e MS Access </ title>
</ Head>
<body>
<? PHP
/ / Incluir o arquivo contendo a seqüência de conexão
include ("connessione.php");
/ / Cria dois objetos COM contendo o Connection e Recordset
$ Cn = new COM ("ADODB.Connection");
$ Rs = new COM ("ADODB.Recordset");
/ / Abro a Connection e Recordset
$ Cn-> open ($ sc);
$ Rs-> Open ("SELECT * FROM users", $ cn);
/ / Verifique se não há dados sobre a mesa
if ($ rs-> EOF) print "Não foram encontrados dados </ p>";
<b> / / Se houver um ciclo de leitura </ b>
mais while ($ rs-> EOF == FALSE)
{
print "<p>";
"Nome <b>: </ b>" de impressão.
$ Rs-> Campos ['name'] -> valor;
print "<br>";
"Nome <b>: </ b>" de impressão.
$ Rs-> Campos ['name'] -> valor;
print "</ p>";
$ Rs-> MoveNext ();
}
/ / Fechar o Recordset
$ Rs-> Close ();
$ Rs-> Release ();
$ Rs = null;
/ / Fechar a conexão
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ BODY>
</ Html>
A operação é simples: passar a consulta para o Recordset, e ler especifica a variável onde a conexão foi aberta, a propriedade do Recordset EOF (End Of File) função lê todos os dados na consulta especificada, se definido como TRUE significa que não há dados no banco de dados, em seguida, lançar a mensagem de notificação, se for definido como FALSE dentro de um loop, ele lê todos os dados de acordo com a consulta especificada, o MoveNext () interrompe o ciclo e posicionar o cursor ADO no início do ciclo, evitando-se um loop infinito.
Ao encerrar o assunto são os métodos Close () e Release (), respectivamente, que são usados para fechar e destruir um objeto COM. Finalmente, ele define a variável para null para limpar a memória da variável.
A gravação de dados
O critério pelo qual você gravar dados em um banco de dados Access com PHP é semelhante ao critério de leitura dos dados no código a seguir, escrito no arquivo não usa o scrivi.php Recordset, mas executa uma instrução SQL INSERT, graças ao método execute () de 'objeto de conexão, o código comentado:
<html>
<head>
<title> Interação entre PHP e MS Access </ title>
</ Head>
<body>
<? PHP
/ / Incluir o arquivo contendo a seqüência de conexão
include ("connessione.php");
$ Cn = new COM ("ADODB.Connection");
$ Cn-> open ($ sc);
/ / Define a consulta
$ Sql = "INSERT INTO utilizadores (nome, sobrenome) VALUES ('Lucas', 'Roger')";
/ / Faz a entrada de dados
$ Cn-> Execute ($ sql);
/ / Iniciar uma mensagem de confirmação
print "Inserindo <p> concluído com êxito </ p>";
/ / Fechar a conexão
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ BODY>
</ Html>
| |
Linux (Curso)
Guia completo para open-source do sistema. A partir de 49 €. |
| |
MySQL (Curso)
Gestão de banco de dados open-source. A partir de 39 €. |
| |
PHP (Curso)
Curso completo para a criação de sites dinâmicos. A partir de 49 €. |