Si avete letto bene, "come leggere o scrivere un database access con php".
Certo si sa che è un binomio inconsueto, perché solitamente con php si è soliti adottare come database mysql, ma su sistema operativo Windows php è in grado anche di colloquiare con database Access.
Infatti di recente mi sono proprio imbattuto in questa situazione: dover sviluppare un componente personalizzato per Joomla che fosse in grado di leggere dei dati da un database Access e scriverli su un database mysql.
Vediamo quindi passo passo il codice necessario alla lettura di una tabella da un database Access.
APERTURA CONNESSIONE
$connessione = new COM("ADODB.Connection");
$connessione->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" . realpath("cartella/database.mdb"););
CREAZIONE RECORDSET
$recordset = new COM("ADODB.Recordset");
$recordset->Open(“select * from tbl”, $connessione);
LETTURA DATI
while (!$recordset->eof) {
echo $recordset->fields["campo1"]->value . '
';
echo $recordset->fields["campo2"]->value . '
';
$recordset->movenext();
}
CHIUSURA RECORDSET E CONNESSIONE
$recordset->close();
$connessione->close();
DEALLOCAZIONE VARIABILI
unset($recordset);
unset($connessione);
Il funzionamento è molto semplice, continuo a ciclare sul mio recordset fintanto che la proprietà eof non è vera, ossia son alla fine del mio recordset.
Vediamo ora invece come eseguire la scrittura.
APERTURA CONNESSIONE (analogamento alla lettura)
$connessione = new COM("ADODB.Connection");
$connessione->Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" . realpath("cartella/database.mdb"););
ESECUZIONE QUERY
$connessione->Execute(INSERT INTO tbl(campo1, campo2) VALUES (valore1, valore2));
potrebbe anche essere una query di UPDATE o DELETE
CHIUSURA CONNESSIONE
$connessione->close();