..


Sponsede Lenker

Samspill mellom PHP og MS Access

Artikkel skrevet av Luca Ruggiero

Innledning

Samspillet mellom PHP og databasen finner sitt høyeste uttrykk med MySQL på både Linux og Windows-systemer. PHP på Windows er i stand til å jobbe med databaser annet enn MySQL, utnytte funksjonene og grensesnittene som kreves av ulike DBMS. Er PHP stand til å arbeide med MS Access og MS SQL Server: I denne artikkelen vil vi se hvordan PHP samhandler med Access.

Grensesnittet mellom noen programmeringsspråk, både WUI Web med DBMS fra Microsoft, for eksempel Access din, ADO (ActiveX Data Objects) allerede kjent for programmerere ASP, ASP.NET og Visual Basic.

Før du starter med forklaring av ADO og dens bruk gjennom PHP og den første til å implementere eksemplene, jeg føler meg forpliktet til å si at PHP kombinert med et DBMS fra Microsoft er ikke det mest tilrådelig og ytelse, men likevel fullt funksjonell.

Den kunnskapen som kreves for full forståelse av denne artikkel er:

  • PHP og dens syntaks basert
  • ADO, minst det grunnleggende
  • MS Access, minst noen kjennskap med sine visuelle grensesnitt
  • SQL, minst det grunnleggende
Gratulerer med lesing!

Oppbygning av testdatabase

For gjennomføring av noen praktisk eksempel vil vi opprette filen består av single table Tilgang database.mdb brukere, som igjen består av feltene id (counter), navn (tekst) og etternavn (tekst).

Plasser database på din personlige web-server, Apache eller EasyPHP at for eksempel i testen kjøres

 



 C: \ percorso_fisico \ database.mdb

 
percorso_fisico hvor er den fysiske adressen til din personlige web-server, installert, som i eksempelet, C-partisjonen.

Databasen er klar. Vi fortsetter.

Introduksjon til ADO

ADO bibliotek fra Microsoft som gjør det mulig interaksjon med DBMS fra Microsoft selv eller med andre DBMS, for eksempel med MySQL for bruk sammen med ASP.

ADO har tre grunnleggende objekter: Connection, Recordset, og Command. Denne artikkelen bruker de to første, henholdsvis, som tjener til å administrere forbindelsen og administrere data. Den tredje er spesialist emne, men ikke så bra selv av programmerere å bruke Microsoft-stil, unntatt i spesielle anledninger.

ASP programmerere merk: (.) ​​Kjære kolleger :-) som meg du er vant til å bruke dot å skille variabelnavn som inneholder for eksempel forbindelsen med metoden eller eiendom som skal brukes, i PHP, for den eneste interaksjon med ADO, er formen brukes som en separator ->

 



 Variable-> metoden

 
Husk det!

Vi etablerer forbindelsen til databasen

Nå lage en katalog på webserveren vår test, for eksempel i filen og sette phpaccess connessione.php som inneholder følgende kode:






 <? PHP



    



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



    



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







 ?>



Variabelen $ db inneholder den fysiske banen til filen og variabelen $ database.mdb sc inneholder OLEDB tilkoblingsstrengen til databasen, vil denne filen bli inkludert i alle PHP filene som skal utføre operasjoner på databasen i spørsmålet.

Reading data

For å gjøre lese dataene vi skaper på serveren, i testen mappen, filen leggi.php; under kommenterte kode i filen:






 <html>



    



 <head>



        



 <title> Samspill mellom PHP og MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Ta filen inneholder tilkoblingsstrengen



    



 inkludere ("connessione.php");





    



 / / Lag to COM objekter som inneholder Connection og Recordset



    



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



    



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





    



 / / Jeg åpner Connection og Recordset



    



 $ Cn-> åpne (sc);



    



 $ Rs-> Åpne ("SELECT * FROM brukere", $ cn);





    



 / / Sjekk at det ikke finnes data på bordet



    



 if ($ rs-> EOF) print "Ingen data funnet <p> </ p>";



    



 <b> / / Hvis det er en syklus av lesing </ b>



    



 annet while ($ rs-> EOF == FALSE)



    



 {



        



 print "<p>";



        



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

 



 $ Rs-> Fields ['name'] -> verdi;



        



 print "<br>";



        



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

 



 $ Rs-> Fields ['name'] -> verdi;



        



 print "</ p>";



        



 $ Rs-> MoveNext ();



    



 }





    



 / / Lukk Recordset



    



 $ Rs-> Close ();



    



 $ Rs-> Slipp ();



    



 $ Rs = null;





    



 / / Lukke tilkoblingen



    



 $ Cn-> Close ();



    



 $ Cn-> Slipp ();



    



 $ Cn = null;







 ?>









 </ BODY>







 </ HTML>



Operasjonen er enkel: passere forespørsel til Recordset, lese og angir variable hvor sammenhengen ble åpnet, eiendom Recordset EOF (End Of File) Funksjonen leser alle data i den angitte spørringen, hvis satt til TRUE betyr at det ikke finnes data i databasen, og deretter starte varslingsmeldingen, hvis satt til FALSE inne i en loop, leser den alle data i henhold til spesifiserte søk, stopper MoveNext () syklusen og plassere markøren ADO i begynnelsen av syklusen, unngår en uendelig loop.

Til slutt emnet metodene er Close () og Slipp (), henholdsvis, som brukes til å lukke og ødelegge et COM-objekt. Til slutt setter variabel til null for å tømme minnet til variabelen.

Skrive data

Kriteriet som du skrive data til en Access database med PHP ligner kriteriet for å lese data i følgende kode, skrevet i filen bruker ikke Recordset scrivi.php men utfører et SQL INSERT, takket være Execute ()-metoden "Connection objektet, kommenterte kode:






 <html>



    



 <head>



        



 <title> Samspill mellom PHP og MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Ta filen inneholder tilkoblingsstrengen



    



 inkludere ("connessione.php");





    



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



    



 $ Cn-> åpne (sc);





    



 / / Definer søket



    



 $ Sql ​​= "INSERT INTO brukere (navn, etternavn) VALUES ('Luke', 'Roger')";





    



 / / Gjør dataregistrering



    



 $ Cn-> Execute ($ sql);





    



 / / Start en bekreftelsesmelding



    



 print "Sette <p> fullført </ p>";





    



 / / Lukke tilkoblingen



    



 $ Cn-> Close ();



    



 $ Cn-> Slipp ();



    



 $ Cn = null;







 ?>









 </ BODY>







 </ HTML>



I samme kategori ...
E-Learning
Linux (Course) Linux (Course)
Komplett guide til open-source system. Starter fra 49 €.
MySQL (Course) MySQL (Course)
Forvaltning av open-source database. Starter fra 39 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €.
Sponsede Lenker