Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Hai creato un database in access e vorresti che venisse pubblicato online per averlo sempre disponibile o farlo aggiornare da altre persone? Con PHP puoi creare uno script che permetta la visualizzazione e l'aggiornamento dei dati del tuo database Access. Vediamo come PHP e Access possono lavorare insieme. Il modo migliore per accedere ad un database Access è quello di usare le funzioni ODBC (Open Database Connectivity) di PHP; per fare questo dobbiamo però creare un dsn di sistema (Data Source Name) cioè un file che contiene le informazioni relative al tipo e al percorso del database. Molti hosting però non permettono di utilizzare un dsn; in questo caso, quindi, è possibile usare le funzioni COM (Component Object Model) di PHP. Le informazioni di accesso al database dovranno essere inserite in una stringa che poi passeremo al metono Open() dell'oggetto ADODB.Connection. Ecco un esempio di stringa di connessione: $cn="Provider=Microsoft.Jet.OLEDB.4.0;"; // indica il motore del database $cn.="Data Source=C:/mytestdb.mdb;"; // indica il path del db $cn.="Mode= 12 ;"; // indica il modo di accesso; se non si aggiunge questa stringa l'apertura è in lettura/scrittura condivisa $cn.="User ID=user; Password=password;" //indica user e pass se configurate Non rimane che uploadare, nella path indicata nella stringa di connessione, il file .mdb che abbiamo creato con office. A questo punto, come abbiamo fatto in precedenza, creiamo lo script che ci farà accedere al database: <?php $path= "C:/" ; $db= "db.mdb" ; $source=$path.$db ; $cn="Provider=Microsoft.Jet.OLEDB.4.0;" ; $cn.="Data Source=$source;" ; //Verifico se esiste il file del db if (!file_exists($source) ){ die("Il database non esiste") ; } $cnObj= new COM("ADODB.Connection"); $cnObj->open($cn) ; /*Il DB è ora aperto e possiamo effettuare le operazioni che vogliamo*/ //Chiudo la connessione al DB $cnObj->Close() ; $cnObj->Release() ; $cnObj= null ; ?> Per effettuare le operazioni di modifica, visualizzazione ecc... possiamo istanziare l'oggetto Recordset e inviare una query SQL con il metodo Open(). Vediamo come visualizzare i dati del nostro database; dopo aver aperto la connessione al db (e prima di chiuderla!) inseriamo questo codice: $rs= new COM("ADODB.Recordset"); // istanzio l'oggetto Recordset $rs->Open("select * from clienti order by name",$cn); // invio la query // ora avvio un ciclo per recuperare i dati while(!$rs->EOF){ echo($rs->Fields['name']->value." ".$rs->Fields['surname']->value."<br />") ; $rs->MoveNext() ; } // ora chiudo il recordset $rs->Close() ; $rs->Release() ; $rs= null ; Ora abbiamo il minimo indispensabile per connetterci a un db Access con PHP e visualizzare i dati archiviati al suo interno.