logo

Introducere în PHP PDO

PHP este un limbaj de scripting de uz general open-source, care este utilizat pe scară largă pentru crearea de pagini web dinamice și interactive. PHP poate accesa o gamă largă de sisteme de gestionare a bazelor de date relaționale, cum ar fi MYSQL, SQLite , și PostgreSQL . The PHP 5.1 versiunea a oferit o nouă bibliotecă de abstractizare a conexiunii la baza de date, care este Obiecte de date PHP (DOP).

Ce este DOP?

DOP se referă la Obiect de date PHP , care este o extensie PHP care definește o interfață ușoară și consistentă pentru accesarea unei baze de date în PHP. Este un set de extensii PHP care oferă o clasă PDO de bază și un driver specific bazei de date. Fiecare driver de bază de date poate expune caracteristici specifice bazei de date ca o funcție de extensie obișnuită care implementează interfața PDO.

Notă: Nu putem efectua niciun tip de funcție de bază de date folosind extensia PDO în sine. Pentru a accesa un server de baze de date, trebuie să folosim un driver PDO specific bazei de date.

PDO se concentrează în principal pe abstracția accesului la date, mai degrabă decât pe abstracția bazei de date. Oferă stratul de abstracție a accesului la date , ceea ce înseamnă că, indiferent de baza de date pe care o folosim, trebuie să folosim aceleași funcții oferite de acea bază de date pentru a emite interogări și a prelua date. PDO nu furnizează abstracția datelor, deoarece nu rescrie SQL-ul și nu emulează caracteristicile lipsă.

Avantajul DOP

PDO oferă diferite moduri de a lucra cu obiecte și preia instrucțiuni pregătite care fac munca mult mai ușoară. Este un instrument de acces la baze de date în PHP prin care permitem accesul uniform în mai multe baze de date.

PDO permite comutarea relativ simplă între diferite baze de date și platforme, ceea ce poate fi făcut cu ușurință prin schimbarea șirului de conexiune. Nu acceptă sintaxe specifice bazei de date.

Există câteva avantaje ale DOP, după cum urmează:

    Suport pentru baze de date
    Extensia PDO poate accesa orice bază de date scrisă pentru driverul PDO. Există mai multe drivere PDO disponibile pentru care sunt utilizate FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , și PostgreSQL baze de date, printre multe altele.
    Driverele nu sunt disponibile automat în fiecare sistem, așa că trebuie să găsim driverele disponibile și să le adăugăm atunci când avem nevoie de ele.Conectarea bazei de date
    Există diferite sintaxe disponibile pentru a stabili conexiunea la baza de date. Aceste sintaxe depind de baze de date specifice. În timpul utilizării PDO, operațiunile trebuie să fie împachetate în blocuri try/catch și să utilizeze tehnica excepției.
    De obicei, trebuie creată o singură conexiune, iar aceste conexiuni sunt închise prin programarea bazei de date pentru a fi setată ca nulă.Eroare de manipulare
    PDO permite utilizarea excepțiilor pentru tratarea erorilor. Pentru a produce o excepție, PDO poate fi forțat într-un atribut relevant pentru modul de eroare.
    Există trei moduri de eroare, adică Tăcut (Mod implicit), Avertizare , și Excepție . Avertismentul și Excepția sunt mai utile în programarea DRY.
      Tăcut- Este un mod implicit de eroare.Avertizare- Este util pentru depanare.Excepție- Acest mod permite gestionarea grațioasă a erorilor în timp ce ascunde datele pe care o persoană le-ar putea folosi pentru a vă exploata sistemul.
    Inserați și actualizați
    PDO reduce operația de inserare și actualizare a bazei de date folosită în mod obișnuit într-un proces în doi pași, de exemplu.
    Pregătiți >> [Legați] >> Executați.
    Prin această metodă, putem profita din plin de instrucțiunile pregătite de PDO, care protejează împotriva atacurilor rău intenționate prin injecție SQL.
    Declarațiile pregătite sunt instrucțiuni SQL pre-compilate care pot fi executate de mai multe ori prin trimiterea acestor date către server. Aceste date, care sunt utilizate în cadrul substituentului, sunt protejate automat de atacul de injecție SQL.

Beneficiile utilizării DOP

PDO este driverul nativ al bazei de date. Există câteva beneficii ale utilizării PDO, care sunt prezentate mai jos:

    Utilizabilitate- Conține multe funcții de ajutor pentru a opera operațiuni automate de rutină.Reutilizabilitate- Oferă API-ul unificat pentru a accesa mai multe baze de date.Securitate- Folosește o instrucțiune pregătită care protejează împotriva injectării SQL. O instrucțiune pregătită este o instrucțiune SQL pre-compilată care separă instrucțiunea instrucțiunii SQL de date.

Clasele DOP

Există trei clase DOP, care sunt prezentate mai jos:

    DOP- Reprezintă o conexiune între PHP și baza de date.Declarație PDOS- Reprezintă instrucțiunea pregătită și după executarea instrucțiunii, stabilește un rezultat asociat.PDOException- Reprezintă erori ridicate de DOP.

Baze de date suportate de PDO

  1. MySQL
  2. PostgreSQL
  3. Oracol
  4. Pasăre de foc
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Cubrid
  12. 4D

Comparație între PDO și MySQLi

Pentru a accesa baza de date folosind PHP, avem în principal două opțiuni - MySQLi și DOP (Obiect de date PHP). MySQLi este un nativ pentru PHP care oferă performanțe mai rapide, în timp ce majoritatea dezvoltatorilor experimentați preferă să lucreze cu PDO, deoarece acceptă o mare varietate de drivere de baze de date. Există unele diferențe între PDO și MySQLi enumerate mai jos pe baza caracteristicilor lor.

Caracteristici DOP MySQLi
Suport DB 12 drivere diferite Doar MySQL
Conexiune Uşor Uşor
API DESCHIS OOP + Procedură
Performanţă Rapid Rapid
Parametru numit da Nu
Maparea obiectelor da da
Procedură stocată da da
Declarații pregătite de partea clientului da Nu
Securitate Mai sigur decât MySQLi. Securizat, dar nu mai mult decât DOP.

Care ar trebui să fie preferat între PDO sau MySQLi?

Atât PDO cât și MySQLi au propriile lor avantaje:

  • După cum am văzut mai devreme, PDO funcționează pe 12 sisteme de baze de date diferite, în timp ce MySQL poate funcționa numai cu baza de date MySQL. Deci, dacă vrem să trecem proiectul nostru într-o altă bază de date, PDO ne ușurează. În MySQLi, trebuie să rescriem întregul cod.
  • PDO și MySQLi sunt ambele orientate pe obiecte, dar MySQLi oferă și API procedurale. Ambele acceptă declarațiile pregătite. Declarațiile pregătite sunt importante pentru securitatea aplicației web, deoarece protejează împotriva injectării SQL.

Cerinţă

Nu este nevoie de biblioteci externe pentru a construi această extensie.

Procesul de instalare

Pasul 1: Descărcați cel mai recent server XAMPP de aici https://www.apachefriends.org/download.html pentru diferite platforme precum Windows, Linux și MacOS.

Phppdo

Notă: Aici vom discuta despre procesul de instalare numai pentru sistemul de operare Windows.

Pasul 2: Instalați serverul XAMPP pe sistemul dvs. urmând acești pași.

recursiunea în java
Phppdo

Pasul 3: Selectați componentele pe care doriți să le instalați și faceți clic pe butonul Următorul.

Phppdo

Pasul 4: Creați noul folder cu numele xampp în locația în care doriți să instalați XAMPP.

Phppdo

Pasul 5: Faceți clic pe Următorul aici și mergeți mai departe. Instalarea serverului XAMPP va începe de aici.

Phppdo

Pasul 6: XAMPP este instalat cu succes. Faceți clic pe butonul Terminare.

Phppdo

Pasul 7: Selectați limba preferată.

Phppdo

Pasul 8: Rulați serverul Apache și MySQL de aici (conform capturii de ecran date).

Phppdo

Pasul 9: Acum, deschideți php.ini de la C:/xampp/php/php.ini (unde ați instalat XAMPP) și decomentați extensia „php_pdo_mysql.dll” și „php_pdo.dll” (dacă lucrați cu baza de date MySQL) sau „php_pdo_oci.dll” (dacă lucrați cu baza de date Oracle). Acum, începeți să lucrați cu baza de date. În versiunea superioară a PHP 5.1, este deja setat.

Lucrul cu DOP

În primul rând, trebuie să creăm o bază de date, deci creați o bază de date cu numele myDB de aici.

Phppdo

Conexiune la baza de date

O conexiune la baza de date este întotdeauna necesară pentru a interacționa cu baza de date. Deci, trebuie să cunoaștem identificatorul pentru a accesa baza de date, adică locația bazei de date, numele bazei de date, numele de utilizator și parola.

Acum, creați programul de conectare la baza de date folosind PDO în orice editor de text, cum ar fi notepad sau notepad++ și salvați-l cu numele coonection.php. Rulați-l pe serverul XAMPP folosind localhost/80.

Exemplu

 getMessage(); } ?> 

Ieșire

Rulați-l pe server folosind următoarea adresă URL localhost/Xampp/pdoexample/connection.php/ sau unde ați salvat programul.

Phppdo

Gestionarea erorii de conectare

Un obiect PDOException va fi aruncat dacă există vreo eroare de conexiune. Putem prinde excepția dacă dorim să gestionăm condiția de eroare, sau o putem lăsa, de asemenea, la gestionarea excepțiilor globale, care poate fi configurată de set_exception_handler() funcţie.

Exemplu

În acest exemplu, dbUser(user-id) este greșit, așa că va arunca o excepție, așa cum putem vedea în rezultat.

matrice.din java
 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?> 
Phppdo

Închiderea conexiunii la baza de date

 getMessage(); } // this command close the connection. $dbConn = null; ?> 

Ieșire

Phppdo