..
Introducere
Interacţiunea dintre PHP şi baza de date îşi găseşte expresia cea mai înaltă cu MySQL pe ambele Linux şi sistemele de operare Windows. PHP pe Windows este capabil de a lucra cu alte baze de date MySQL decât, exploatarea şi interfeţele caracteristicile cerute de diferite SGBD. PHP este capabil de a lucra cu MS Access si MS SQL Server: În acest articol vom vedea cum PHP interactioneaza cu Access.
Interfaţă între orice limbaj de programare, atât WUI web cu SGBD de la Microsoft, cum ar fi Access, ADO (ActiveX Data Objects), deja cunoscute pentru programatori ASP, ASP.NET si Visual Basic.
Înainte de a începe cu explicaţia de ADO şi a utilizării sale prin intermediul PHP şi primul care să pună în aplicare exemple, mă simt obligat să spun că PHP cuplat cu un SGBD de la Microsoft nu este cel mai recomandabil şi de performanţă, încă pe deplin funcţional.
Cunoştinţele necesare pentru înţelegerea deplină a prezentului articol sunt:
Structura bazei de date de testare
Pentru punerea în aplicare a unor exemple practice, vom crea fisierul este format din utilizatori unice database.mdb tabel Access, la rândul său, compus din domenii id (contra), nume (text) şi numele de familie (Text).
Publicaţi baza de date de pe server Web personal, Apache sau EasyPHP care, de exemplu, în termen de încercare
C: \ percorso_fisico \ database.mdbpercorso_fisico în cazul în care este adresa fizica a serverului Web personale, instalate, ca în exemplul, partiţia C.
Baza de date este gata. Vom continua.
Introducere în ADO
ADO bibliotecă de la Microsoft care permite interacţiunea cu SGBD de la Microsoft sine sau cu alte DBMS-uri, de exemplu, cu MySQL pentru utilizarea sa cu ASP.
ADO oferă trei obiecte de bază: Connection, înregistrări, şi Comandamentul. Acest articol foloseşte primele două, respectiv, care servesc pentru a gestiona şi de a gestiona conexiunea de date. Al treilea este un subiect de specialitate, dar nu prea bun, chiar de către programatori utilizând Microsoft-stil, cu excepţia cazului în ocazii speciale.
(.): ASP Programatorii nota Dragi colegi :-) ca mine v-aţi obişnuit să utilizaţi dot Pentru a separa numele variabilei care conţine, de exemplu conexiunea, metoda sau a proprietăţii care urmează să fie utilizate; în PHP, pentru interacţiunea numai cu ADO, formularul este folosit ca un separator ->
Variabila-> metodăamintiţi-vă că!
Noi stabili conexiunea la baza de date
Acum creaţi un director pe testul nostru server Web, de exemplu, în dosar şi inseraţi connessione.php phpaccess care conţin codul de mai jos:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb";
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Sursă de date = $ db;"
?>
Variabila $ db conţine calea fizică a fişierului şi variabila $ database.mdb sc conţine şirul de conexiune OLEDB la baza de date, acest fişier va fi inclus în toate fişierele PHP, care va efectua operaţiunile în baza de date în cauză.
De citire a datelor
Pentru a face citirea datelor pe care le crea pe server, în dosarul de testare, leggi.php fişierul; de mai jos codul de comentat în fişierul:
<html>
<head>
Interacţiunea <title> între PHP şi MS Access </ title>
</ Head>
<body>
<? PHP
/ / Include fişierul care conţine şirul de conexiune
includ ("connessione.php");
/ / Crearea două obiecte COM care conţin Connection şi Recordset
$ Cn = new COM ("ADODB.Connection");
$ R = new COM ("ADODB.Recordset");
/ / Am deschis Connection şi Recordset
$ Cn-> open ($ sc);
$ R-> Open ("SELECT * FROM utilizatori", $ cn);
/ / Verificaţi că nu există date pe masă
if ($ rs-> EOF) print "Nu există date găsit </ p>";
<b> / / În cazul în care există un ciclu de citire </ b>
altceva în timp ce ($ rs-> EOF == FALSE)
{
de imprimare "<p>";
print "Nume <b>: </ b>".
$ R-> Domenii ['nume'] -> valoare;
de imprimare "<br>";
print "Nume <b>: </ b>".
$ R-> Domenii ['nume'] -> valoare;
de imprimare "</ p>";
$ R-> MoveNext ();
}
/ / Close Recordset
$ R-> Close ();
$ R-> Release ();
$ R = null;
/ / Închide conexiunea
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ BODY>
</ HTML>
Operaţiunea este simplă: treci interogare pentru a Recordset, şi citiţi specifică variabila în cazul în care conexiunea a fost deschis, în proprietatea Recordset EOF (End Of File) funcţia citeşte toate datele din interogare specificată, dacă este setat la TRUE înseamnă că nu există date în baza de date, apoi lansa mesajul de notificare, în cazul în care setat la FALSE în interiorul unei bucle, citeşte toate datele în funcţie de interogare specificat, MoveNext () opreşte ciclul şi poziţia cursorului ADO la începutul ciclului, evitându-o buclă infinită.
În încheiere metodele de subiect sunt Close () şi Release (), respectiv, care sunt utilizate pentru a închide şi de a distruge un obiect COM. În cele din urmă se stabileşte variabila la null pentru a sterge memoria de variabila.
Scrierea de date
Criteriul prin care vă scrie date într-o bază de date Access cu PHP este similară la criteriul de lectură a datelor în codul de mai jos, scris în dosar nu se utilizează scrivi.php Recordset, dar efectuează o INSERT SQL, datorită Execute () metoda de "obiect Connection, codul comentat:
<html>
<head>
Interacţiunea <title> între PHP şi MS Access </ title>
</ Head>
<body>
<? PHP
/ / Include fişierul care conţine şirul de conexiune
includ ("connessione.php");
$ Cn = new COM ("ADODB.Connection");
$ Cn-> open ($ sc);
/ / Definiţi interogare
$ Sql = "INSERT INTO utilizatori (nume, prenume) VALUES ('Luca', 'Roger')";
/ / Asiguraţi-de introducere a datelor
$ Cn-> Execute ($ sql);
/ / Lansarea unui mesaj de confirmare
de imprimare "Introducerea <p> finalizat cu succes </ p>";
/ / Închide conexiunea
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ BODY>
</ HTML>
| |
Linux (Curs)
Ghid complet pentru open-source de sistem. Incepand de la 49 €. |
| |
MySQL (Curs)
De gestionare a bazei de date open-source. Incepand de la 39 €. |
| |
PHP (Curs)
Cursul completa pentru crearea de site-uri Web dinamice. Incepand de la 49 €. |