..


Sponsrade länkar

Interaktion mellan PHP och MS Access

Artikel skriven av Luca Ruggiero

Inledning

Samspelet mellan PHP och databasen finner sitt högsta uttryck med MySQL på både Linux och Windows-system. PHP på Windows kan arbeta med databaser än MySQL, att utnyttja de funktioner och gränssnitt som krävs av olika databashanterare. Är PHP kan arbeta med MS Access och MS SQL Server: I denna artikel kommer vi får se hur PHP interagerar med Access.

Gränssnittet mellan alla programmeringsspråk, både WUI webben med DBMS från Microsoft såsom Access, ADO (ActiveX Data Objects) redan kända programmerare ASP, ASP.NET och Visual Basic.

Innan du börjar med förklaring av ADO och dess användning via PHP och först med att genomföra de exempel, jag känner mig tvungen att säga att PHP i kombination med en databashanterare från Microsoft är inte det mest lämpligt och prestanda, men ändå fullt funktionell.

Den kunskap som krävs för full förståelse av denna artikel är:

  • PHP och dess syntax bygger
  • ADO, åtminstone grunderna
  • MS Access, åtminstone viss erfarenhet av dess visuella gränssnitt
  • SQL, åtminstone grunderna
Trevlig läsning!

Struktur testdatabasen

För genomförandet av några praktiska exempel ska vi skapa filen består av enstaka database.mdb tabellen Access-användare, i sin tur består av fälten ID (räknare), namn (text) och efternamn (Text).

Placera din databas på din personliga webbserver, Apache eller EasyPHP att t.ex. i testkörningen

 



 C: \ percorso_fisico \ database.mdb

 
percorso_fisico där är den fysiska adressen till din personliga webbserver installerad, som i exemplet, C-partitionen.

Databasen är redo. Vi fortsätter.

Introduktion till ADO

ADO-bibliotek från Microsoft som möjliggör interaktion med DBMS från Microsoft själva eller med andra DBHS, till exempel med MySQL för dess användning med ASP.

ADO erbjuder tre grundläggande objekt: Connection, Recordset och Command. Den här artikeln använder de två första, respektive, som tjänar till att hantera anslutningen och hantera data. Den tredje är en specialist ämne, men inte alltför bra även av programmerare att använda Microsoft-stil, utom i speciella tillfällen.

(.): ASP Programmerare notera Kära kollegor :-) som mig du är van att använda den punkten att separera variabelnamn som innehåller till exempel anslutningen till metoden eller egendom användas, i PHP, för den enda interaktion med ADO, är den form som används som avgränsare ->

 



 Variabel-> metod

 
kom ihåg det!

Vi upprätta anslutningen till databasen

Nu skapar en katalog på vår webbserver test, till exempel i filen och infoga phpaccess connessione.php innehåller följande kod:






 <? PHP



    



 $ Db = "C: \ percorso_fisico \ database.mdb";



    



 $ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = $ db;"







 ?>



Variabeln $ db innehåller den fysiska sökvägen till filen och variabeln $ database.mdb fm innehåller OLEDB anslutningssträng till databasen kommer denna fil att ingå i alla PHP-filer som kommer att utföra operationer på databasen i fråga.

Läsa data

För att läsa data vi skapar på servern i testet mappen, filen leggi.php, under kommenterade koden i filen:






 <html>



    



 <head>



        



 <title> Interaktion mellan PHP och MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Inkludera filen innehåller anslutningssträngen



    



 include ("connessione.php");





    



 / / Skapa två COM-objekt som innehåller Connection och Recordset



    



 $ Cn = new COM ("ADODB.Connection");



    



 $ R = new COM ("ADODB.Recordset");





    



 / / Jag öppnar Connection och Recordset



    



 $ Cn-> Öppna ($ sc);



    



 $ RS-> Öppna ("SELECT * FROM users", $ cn);





    



 / / Kontrollera att det finns inga data på bordet



    



 if ($ rs-> EOF) print "Inga data finns </ p>";



    



 <b> / / Om det finns en cykel att läsa </ b>



    



 annat medan ($ rs-> EOF == FALSE)



    



 {



        



 print "<p>";



        



 print "<b> Namn: </ b>".

 



 $ RS-> Fält ['name'] -> värde;



        



 print "<br>";



        



 print "<b> Namn: </ b>".

 



 $ RS-> Fält ['name'] -> värde;



        



 print "</ p>";



        



 $ RS-> MoveNext ();



    



 }





    



 / / Stäng Recordset



    



 $ RS-> Stäng ();



    



 $ RS-> Avsluta ();



    



 $ R = null;





    



 / / Stäng anslutning



    



 $ CN-> Stäng ();



    



 $ CN-> Avsluta ();



    



 $ Cn = null;







 ?>









 </ Body>







 </ Html>



Driften är enkel: gå frågan till Recordset, läsa och anger variabeln där anslutningen öppnades, om egendom Recordset EOF (End Of File) funktionen läser alla data i den angivna frågan, satt till TRUE betyder att det inte finns några data i databasen, sedan lanseringen anmälan meddelande om inställt på FALSKT i en loop, läser allt data enligt den angivna frågan, slutar MoveNext () cykeln och placera markören ADO i början av cykeln, för att undvika en oändlig slinga.

Avslutningsvis ämnet metoderna är close () och Release (), respektive, som används för att stänga och förstöra en COM-objekt. Slutligen sätter variabeln till null för att rensa minnet av variabeln.

Skriver data

Det kriterium enligt vilket du skriver data till en Access-databas med PHP liknar kriteriet att läsa data i följande kod, skriven i filen inte använder Recordset scrivi.php men utför en SQL INSERT, tack vare den metoden execute () i "Anslutning objekt, kommenterade kod:






 <html>



    



 <head>



        



 <title> Interaktion mellan PHP och MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Inkludera filen innehåller anslutningssträngen



    



 include ("connessione.php");





    



 $ Cn = new COM ("ADODB.Connection");



    



 $ Cn-> Öppna ($ sc);





    



 / / Definiera frågan



    



 $ Sql ​​= "INSERT INTO användare (förnamn, efternamn) VALUES (" Lukas "," Roger ")";





    



 / / Gör datainmatning



    



 $ Cn-> Kör ($ sql);





    



 / / Starta ett bekräftelsemeddelande



    



 print "Sätta <p> slutförts </ p>";





    



 / / Stäng anslutning



    



 $ CN-> Stäng ();



    



 $ CN-> Avsluta ();



    



 $ Cn = null;







 ?>









 </ Body>







 </ Html>



I samma kategori ...
E-lärande
Linux (Kurs) Linux (Kurs)
Komplett guide till öppen källkod-system. Från 49 €.
MySQL (Kurs) MySQL (Kurs)
Hantering av öppen källkod databas. Från 39 €.
PHP (Kurs) PHP (Kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €.
Sponsrade länkar