..


Sponsorerede links

Samspil mellem PHP og MS Access

Artikel skrevet af Luca Ruggiero

Indledning

Samspillet mellem PHP og databasen finder sit højeste udtryk med MySQL på både Linux og Windows-systemer. PHP på Windows er i stand til at arbejde med databaser end MySQL, der udnytter de funktioner og grænseflader, der kræves af forskellige DBMS. Er PHP stand til at arbejde med MS Access og MS SQL Server: I denne artikel vil vi se, hvordan PHP interagerer med Access.

Grænsefladen mellem alle programmeringssprog, både WUI internettet med DBMS fra Microsoft, så som din Access, ADO (ActiveX Data Objects), som allerede er kendt for programmører ASP, ASP.NET og Visual Basic.

Før du starter med en forklaring af ADO og dens anvendelse gennem PHP og den første til at gennemføre de eksempler, er, at jeg føler mig forpligtet til at sige, at PHP kombineret med et DBMS-system fra Microsoft ikke det mest tilrådeligt og ydeevne, endnu ikke fuldt funktionel.

Den viden, der kræves for fuld forståelse af denne artikel, er:

  • PHP og dets syntaks baseret
  • ADO, i det mindste det grundlæggende
  • MS Access, i hvert fald et vist kendskab til dens visuelle grænseflade
  • SQL, i det mindste det grundlæggende
God læselyst!

Struktur af testdatabasen

Ved gennemførelsen af nogle praktiske eksempel vil vi oprette filen består af enkelt tabel Access database.mdb brugere, som igen består af felter id (counter), navn (tekst) og efternavn (tekst).

Placer din database på din personlige web-server, Apache eller EasyPHP, at for eksempel i testkørsel

 



 C: \ percorso_fisico \ database.mdb

 
percorso_fisico hvor er den fysiske adresse på din personlige web-server, installeret, som i eksemplet, C-partition.

Databasen er klar. Vi fortsætter.

Introduktion til ADO

ADO bibliotek fra Microsoft, der giver interaktion med DBMS fra Microsoft selv eller med andre DBMS-systemer, for eksempel med MySQL til brug med ASP.

ADO tilbyder tre grundlæggende ting: Connection, Recordset, og Kommando. Denne artikel bruger de to første, henholdsvis som tjener til at styre forbindelsen og administrere data. Den tredje er en specialist emne, men ikke alt for godt selv ved programmører, som anvender Microsoft-stil, undtagen i særlige lejligheder.

(.): ASP Programmører Bemærk Kære kolleger :-) du som jeg er vant til at bruge prik for at adskille variabelnavnet, der indeholder, for eksempel den forbindelse, at den metode eller ejendom skal anvendes i PHP, for den eneste interaktion med ADO, er den form bruges som separator ->

 



 Variabel-> metode

 
husk det!

Vi etablerer forbindelsen til databasen

Lav nu en mappe på vores web-server test, for eksempel i filen og indsæt phpaccess connessione.php indeholder følgende kode:






 <? PHP



    



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



    



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







 ?>



Variablen $ db indeholder den fysiske sti til filen og de ​​variable $ database.mdb fm indeholder OLEDB-forbindelsen strengen til databasen, vil denne fil blive inkluderet i alle PHP-filer, der skal udføre operationer på den pågældende database.

Læsning af data

For at gøre læsning af data, vi skaber på serveren, i testen mappe, filen leggi.php; under kommenterede kode i filen:






 <html>



    



 <head>



        



 <title> Samspil mellem PHP og MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Inkluder filen med forbindelsen strengen



    



 omfatter ("connessione.php");





    



 / / Opret to COM-objekter, der indeholder Connection og Recordset



    



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



    



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





    



 / / Jeg åbner Connection og Recordset



    



 $ CN-> open ($ sc);



    



 $ RS-> Open ("SELECT * FROM brugere", $ cn);





    



 / / Kontroller, at der ikke findes data på bordet



    



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



    



 <b> / / Hvis der er en cyklus af læsning </ b>



    



 andet, mens ($ rs-> EOF == FALSE)



    



 {



        



 print "<p>";



        



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

 



 $ RS-> Fields ['navn'] -> værdi;



        



 print "<br>";



        



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

 



 $ RS-> Fields ['navn'] -> værdi;



        



 print "</ p>";



        



 $ RS-> MoveNext ();



    



 }





    



 / / Luk Recordset



    



 $ RS-> Close ();



    



 $ RS-> Slip ();



    



 $ Rs = null;





    



 / / Luk forbindelsen



    



 $ CN-> Close ();



    



 $ CN-> Slip ();



    



 $ Cn = null;







 ?>









 </ Body>







 </ HTML>



Betjeningen er enkel: pass forespørgslen til Recordset, læse og angiver de variable, hvor forbindelsen blev åbnet, ejendom Recordset EOF (End Of File) funktion læser alle data i den angivne forespørgslen, hvis det er indstillet til TRUE betyder, at der ikke er nogen data i databasen, og derefter starte anmeldelsen budskab, hvis sat til FALSE inde i en løkke, læser alle data i henhold til den angivne forespørgsel, MoveNext () stopper cyklus og placere markøren ADO ved begyndelsen af ​​cyklussen, så man undgår en uendelig løkke.

Som afslutning emnet metoder er tæt () og Slip (), henholdsvis, som bruges til at lukke og ødelægge et COM-objekt. Endelig sætter variablen til null for at rydde hukommelsen af den variable.

Skrivning af data

Det kriterium, som du skriver data til en Access-database med PHP svarer til kriteriet om at læse data i følgende kode, skrevet i filen ikke bruge Recordset scrivi.php, men udfører en SQL INSERT, takket være Execute () metode 'Connection objekt, kommenterede kode:






 <html>



    



 <head>



        



 <title> Samspil mellem PHP og MS Access </ title>



    



 </ Head>







 <body>









 <? PHP



    



 / / Inkluder filen med forbindelsen strengen



    



 omfatter ("connessione.php");





    



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



    



 $ CN-> open ($ sc);





    



 / / Definer forespørgslen



    



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





    



 / / Gør dataindtastning



    



 $ CN-> Execute ($ sql);





    



 / / Start en bekræftelsesmeddelelse



    



 print "Indsættelse <p> gennemført med succes </ p>";





    



 / / Luk forbindelsen



    



 $ CN-> Close ();



    



 $ CN-> Slip ();



    



 $ Cn = null;







 ?>









 </ Body>







 </ HTML>



I den samme kategori ...
E-Learning
Linux (Kursus) Linux (Kursus)
Komplet guide til open source-system. Fra 49 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
PHP (Kursus) PHP (Kursus)
Fuld kursus for at skabe dynamiske web-sites. Fra 49 €.
Sponsorerede links