Crearea de site-uri dinamice folosind php și mysql

Principalul avantaj al site-urilor dinamice, în comparație cu cele statice, este capacitatea de a separa datele de codul responsabil pentru reprezentarea lor vizuală. Datorită acestei abordări, puteți crea site-uri care formează pagini în funcție de solicitările vizitatorilor. Cu toate acestea, pentru a crea un astfel de site, este necesar să se organizeze un depozit de date structurate. Acest lucru este necesar pentru ca programul care generează paginile să poată selecta date în funcție de criteriile solicitării primite de la vizitatorul site-ului.

Cea mai ușoară modalitate de a organiza un depozit de date este să utilizați fișiere text. Puteți să stocați datele într-unul sau mai multe fișiere text și să separați elementele de date din fiecare fișier folosind separatoare. Acest mod de organizare a datelor poate fi eficient cu o cantitate mică de informații stocate și prelucrate. Cu toate acestea, pentru a funcționa cu datele stocate în fișiere text, este necesar să se dezvolte un set de rutine pentru adăugarea, ștergerea, modificarea și recuperarea datelor. Dacă se modifică structura de date, subprogramele de gestionare a datelor vor trebui rescrise.

Pentru a evita astfel de dificultăți, puteți utiliza bazele de date. Pentru a opera cu datele introduse într-o bază de date (DB), este posibil prin intermediul unui DBMS - un sistem de gestionare a bazelor de date. DBMS oferă o interfață prin care puteți organiza baze de date cu structură internă arbitrară și puteți gestiona datele aflate în ele.

În prezent, cele mai utilizate sunt baza de date a bazelor de date. Informațiile din ele sunt prezentate sub forma unui set de tabele. Fiecare tabel conține una sau mai multe coloane care descriu atributele de date și fiecare rând din tabel este o instanță a datelor. Limba utilizată pentru gestionarea bazei de date este SQL Structured Language Query.

Schema site-ului dinamic, care utilizează ca bază de date a depozitarului:

Crearea de site-uri dinamice folosind php și mysql

Browserul trimite o solicitare serverului web pentru a forma o pagină HTML

Serverul web pornește interpretul PHP pentru a executa scriptul care formează pagina HTML

În procesul de script, o bază de date este accesată pentru a prelua informațiile corespunzătoare parametrilor cererii trimise de browser

Pe baza informațiilor selectate din baza de date, scriptul PHP generează o pagină HTML

Serverul web returnează pagina HTML generată în browser

Browserul interpretează instrucțiunile HTML conținute în corpul paginii care rezultă și afișează conținutul acestuia pe ecranul monitorului

În prezent, baza de date MySQL este cel mai des utilizată pentru a organiza stocarea de date a aplicațiilor web.

MySQL este un server de baze de date compact și ușor de utilizat disponibil pentru platformele Unix, Windows NT, Windows 9x. Atunci când rulează în Unix OS, DBMS utilizează fluxuri, ceea ce face posibilă crearea unui server de baze de date de înaltă performanță și foarte scalabil pe baza MySQL.

MySQL suportă standardele la nivel de bază ale ANSI SQL92 și ODBC. Aplicațiile de baze de date pot fi implementate folosind limbi populare de nivel înalt, cum ar fi C, Perl, PHP și altele. Sistemul DBMS vă permite să gestionați tabelele cu un volum total de date de până la 4 GB.

PHP oferă un set de funcții care permit scriptului să interacționeze cu MySQL. Pentru a utiliza baza de date, trebuie să stabiliți o conexiune între programul client (în acest caz programul scris în PHP) și serverul MySQL. Vă puteți conecta utilizând funcția:

mysql_connect ("host [: port] [socket]", "nume de utilizator", "parola")

Funcția primește trei parametri de intrare: gazdă, nume de utilizator și parolă. Gazdă - numele serverului pe care este instalat DBMS. În cazul în care serverul web și serverul de bază de date rulează pe aceeași mașină, valoarea parametrului gazdă este setată la "localhost". După numele gazdei, puteți specifica și portul și calea către socket. Acest lucru este necesar dacă setările utilizează portul și alt socket decât cel implicit.

Numele de utilizator este numele utilizatorului care are permisiunea de a accesa baza de date.

Parola - parola utilizatorului care are acces la DBMS.

Funcția returnează ID-ul conexiunii în cazul succesului și valoarea este "falsă" dacă nu reușește. Identificatorul de conexiune va fi folosit atunci când apelați toate funcțiile care trimit interogări către serverul MySQL.

Dacă rechemați rnysql_connect cu aceleași argumente, nu se va stabili o nouă conexiune la server; identificatorul unei conexiuni deja deschise va fi returnat.

De obicei, datele de conectare și parola utilizatorului sunt setate de administratorul de sistem.

După instalare, pentru a accesa MySQL, trebuie doar să specificați localhost ca gazdă și să folosiți linii goale ca nume de utilizator și parolă (crearea utilizatorilor și acordarea drepturilor de acces după instalarea administratorului).

După terminarea programului PHP, conexiunea va fi închisă automat. Cu toate acestea, dacă trebuie să închideți conexiunea în timp ce programul se execută, puteți utiliza funcția

Ca parametru, funcția primește identificatorul de conectare care urmează să fie închis

După stabilirea conexiunii, trebuie să selectați baza de date din care va fi efectuată lucrarea. O funcție este utilizată pentru a selecta baza de date activă.

mysql_select_db ("nume de bază de date", [identificator conexiune])

Parametrii funcției sunt numele bazei de date și identificatorul conexiunii. Identificatorul de conexiune nu este un parametru necesar. Întrucât în ​​cadrul programului, de regulă, se folosește o conexiune, nu este necesar să se precizeze explicit de fiecare dată.

Puteți crea o bază de date utilizând funcția

mysql_create_db ("nume de bază de date", [identificator conexiune])

O altă posibilitate de a crea o nouă bază de date este să trimiteți o interogare "create database" folosind funcția mysql_query, care va fi discutată ulterior.

Ștergeți o bază de date cu întregul conținut utilizând funcția

mysql_drop_db ("nume de bază de date", [identificator de conexiune])

Un rezultat similar poate fi obținut prin trimiterea unei baze de date sql-query.

Una dintre cele mai importante funcții este funcția de a trimite o interogare SQL

mysql_query ("cerere", [identificator conexiune])

Funcția returnează identificatorul de rezultate. Pentru comenzile de definire a datelor, cum ar fi CREATE, ALTER, DROP, identificatorul de rezultate indică succesul sau eșecul când se execută interogarea.

Pentru comenzile de manipulare a datelor, cum ar fi DELETE, INSERT, UPDATE, identificatorul de rezultate vă permite să găsiți numărul de rânduri prelucrate.

Pentru instrucțiunea SELECT, identificatorul de rezultate este un pointer la setul de rezultate al datelor selectate.

Pentru a afla numărul de înregistrări selectate ca răspuns la o interogare, puteți utiliza funcția

mysql_num_rows (identificator de rezultat)

Funcția returnează numărul de înregistrări din setul asociat identificatorului de rezultate. Trebuie remarcat faptul că vorbim doar despre identificatorul rezultatului obținut după interogarea selectată.

Puteți accesa rezultatele eșantionului utilizând funcțiile

mysql_fetch_row (identificatorul rezultatului)

mysql_fetch_array (identificator rezultat)

Funcțiile enumerate mai sus primesc un identificator de rezultate ca parametru. Când se execută funcția, se extrage o înregistrare din setul de rezultate și se întoarce ca o matrice. Indicatorul intern se mută automat la următoarea înregistrare (rezultatul interogării poate conține mai mult de o înregistrare). În cazul în care, la momentul apelului, toate înregistrările au fost traversate, funcția returnează false.

După executarea mysql_query, indicatorul pentru setul de rezultate corespunzător este setat la prima înregistrare. Un apel funcțional secvențial vă permite să accesați toate înregistrările setului de rezultate.

Funcțiile mysql_fetch_array și mysql_fetch_row diferă în funcție de tipul rezultatului returnat:

mysql_fetch_array returnează o matrice asociativă a cărei nume de nume corespund cu numele coloanelor din interogarea selectată (și, prin urmare, în rezultatul rezultat);

mysql_fetch_row returnează o matrice indexată de numere începând cu elementul 0 (secvența elementelor din matrice corespunde secvenței enumerării lor în interogare).

Memoria care stochează setul de date rezultat este eliberată automat imediat după terminarea scriptului PHP. Cu toate acestea, dacă dintr-un anumit motiv există o nevoie de eliberare precoce a memoriei, trebuie să utilizați funcția

mysql_free_result (identificator rezultat)

În timp ce lucrați cu baza de date, pot apărea diverse erori (de exemplu, erorile sintactice pot fi găsite în interogările SQL). Pentru a primi un mesaj de eroare returnat de serverul MySQL, puteți utiliza funcția

mysql_error (ID conexiune)

Funcția returnează un mesaj de eroare primit de la server ca rezultat al comenzii anterioare (funcție, interogare) asociată accesării MySQL. Erori care apar pe serverul MySQL nu determină stoparea scriptului.

Dezvoltarea aplicației începe cu definirea structurii bazei de date. În acest caz, baza de date va consta dintr-un tabel cu următorul format:

Articole similare