logo

Introducció a PHP PDO

PHP és un llenguatge de programació de codi obert de propòsit general, que s'utilitza àmpliament per crear pàgines web dinàmiques i interactives. PHP pot accedir a una àmplia gamma de sistemes de gestió de bases de dades relacionals, com ara MYSQL, SQLite , i PostgreSQL . El PHP 5.1 versió ofereix una nova biblioteca d'abstracció de connexió de base de dades, que és Objectes de dades PHP (DOP).

Què és la DOP?

Es refereix a la DOP Objecte de dades PHP , que és una extensió PHP que defineix una interfície lleugera i coherent per accedir a una base de dades en PHP. És un conjunt d'extensions PHP que proporcionen una classe PDO bàsica i un controlador específic de la base de dades. Cada controlador de base de dades pot exposar característiques específiques de la base de dades com una funció d'extensió normal que implementa la interfície PDO.

llocs com coomeet

Nota: No podem realitzar cap tipus de funció de base de dades utilitzant la pròpia extensió PDO. Per accedir a un servidor de bases de dades, hem d'utilitzar un controlador PDO específic de la base de dades.

PDO se centra principalment en l'abstracció d'accés a les dades més que en l'abstracció de bases de dades. Proporciona capa d'abstracció d'accés a dades , el que vol dir, independentment de quina base de dades estem utilitzant, hem d'utilitzar les mateixes funcions que ofereix aquesta base de dades per fer consultes i obtenir dades. PDO no proporciona abstracció de dades, ja que no reescriu l'SQL ni emula les característiques que falten.

Avantatge de la DOP

PDO ofereix diverses maneres de treballar amb objectes i recupera declaracions preparades que faciliten molt el treball. És una eina d'accés a bases de dades en PHP mitjançant la qual permetem l'accés uniforme a diverses bases de dades.

PDO permet canviar comparativament sense problemes entre diferents bases de dades i plataformes, cosa que es pot fer fàcilment canviant la cadena de connexió. No admet sintaxis específiques de base de dades.

Hi ha alguns avantatges de la DOP com segueix:

    Suport a la base de dades
    L'extensió PDO pot accedir a qualsevol base de dades escrita per al controlador PDO. Hi ha diversos controladors PDO disponibles per als quals s'utilitzen FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , i PostgreSQL bases de dades, entre molts més.
    Els controladors no estan disponibles en tots els sistemes de manera automàtica, així que hem de trobar els nostres controladors disponibles i afegir-ne un quan els necessitem.Connexió de bases de dades
    Hi ha diferents sintaxis disponibles per establir la connexió a la base de dades. Aquestes sintaxis depenen de bases de dades específiques. Mentre s'utilitza PDO, les operacions s'han d'embolicar en blocs try/catch i utilitzar la tècnica d'excepció.
    Normalment, només cal crear una única connexió, i aquestes connexions es tanquen programant la base de dades perquè s'estableixi com a nul.Gestió d'errors
    PDO permet utilitzar excepcions per al tractament d'errors. Per produir una excepció, el PDO es pot forçar a un atribut de mode d'error rellevant.
    Hi ha tres modes d'error, és a dir, En silenci (per defecte), Avís , i Excepció . L'avís i l'excepció són més útils en la programació DRY.
      En silenci- És un mode d'error predeterminat.Avís- És útil per a la depuració.Excepció- Aquest mode permet gestionar els errors amb gràcia mentre amaguen les dades que una persona podria utilitzar per explotar el vostre sistema.
    Inserir i actualitzar
    PDO redueix l'operació d'inserció i actualització de la base de dades d'ús habitual en un procés de dos passos, és a dir.
    Preparar >> [Enllaçar] >> Executar.
    Mitjançant aquest mètode, podem aprofitar al màxim les declaracions preparades de PDO, que protegeixen contra atacs maliciosos mitjançant la injecció SQL.
    Les sentències preparades són sentències SQL precompilades que es poden executar diverses vegades enviant aquestes dades al servidor. Aquestes dades, que s'utilitzen dins del marcador de posició, estan protegides automàticament de l'atac d'injecció SQL.

Beneficis d'utilitzar DOP

PDO és el controlador de base de dades natiu. Hi ha alguns avantatges d'utilitzar PDO que es donen a continuació:

    Usabilitat- Conté moltes funcions auxiliars per operar operacions rutinàries automàtiques.Reutilitzabilitat- Ofereix l'API unificada per accedir a diverses bases de dades.Seguretat- Utilitza una declaració preparada que protegeix de la injecció SQL. Una instrucció preparada és una instrucció SQL prèviament compilada que separa la instrucció de la instrucció SQL de les dades.

Classes DOP

Hi ha tres classes de DOP, que es donen a continuació:

    DOP- Representa una connexió entre PHP i la base de dades.Declaració PDOS- Representa la instrucció preparada i després de l'execució de la instrucció, estableix un resultat associat.PDOException- Representa errors plantejats per DOP.

Bases de dades suportades per PDO

  1. MySQL
  2. PostgreSQL
  3. Oracle
  4. Ocell de foc
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Cúbrid
  12. 4D

Comparació entre PDO i MySQLi

Per accedir a la base de dades mitjançant PHP, tenim principalment dues opcions: MySQLi i DOP (Objecte de dades PHP). MySQLi és un natiu per a PHP que ofereix un rendiment més ràpid, mentre que la majoria dels desenvolupadors experimentats prefereixen treballar amb PDO, ja que admet una gran varietat de controladors de bases de dades. Hi ha algunes diferències entre PDO i MySQLi que s'enumeren a continuació en funció de les seves característiques.

Característiques DOP MySQLi
Suport a la base de dades 12 controladors diferents Només MySQL
Connexió Fàcil Fàcil
API OBERT OOP + procediment
Rendiment Ràpid Ràpid
Paràmetre anomenat No
Mapatge d'objectes
Procediment emmagatzemat
Declaracions preparades pel client No
Seguretat Més segur que MySQLi. Segur però no més que DOP.

Quina s'hauria de preferir entre PDO o MySQLi?

Tant PDO com MySQLi tenen els seus propis avantatges:

  • Com hem vist anteriorment, PDO funciona en 12 sistemes de bases de dades diferents, mentre que MySQL només pot funcionar amb bases de dades MySQL. Per tant, si volem canviar el nostre projecte a una altra base de dades, PDO ho facilita. A MySQLi, hem de reescriure tot el codi.
  • PDO i MySQLi estan orientats a objectes, però MySQLi també ofereix API de procediment. Tots dos donen suport a les declaracions preparades. Les declaracions preparades són importants per a la seguretat de les aplicacions web, ja que protegeixen de la injecció SQL.

Requisit

No hi ha necessitat de biblioteques externes per construir aquesta extensió.

Procés d'instal·lació

Pas 1: Baixeu l'últim servidor XAMPP des d'aquí https://www.apachefriends.org/download.html per a diferents plataformes com Windows, Linux i MacOS.

Phppdo

Nota: aquí parlarem del procés d'instal·lació només per al sistema operatiu Windows.

Pas 2: Instal·leu el servidor XAMPP al vostre sistema seguint aquests passos.

char a cadena
Phppdo

Pas 3: Seleccioneu els components que voleu instal·lar i feu clic al botó Següent.

Phppdo

Pas 4: Creeu la nova carpeta amb el nom xampp a la ubicació on voleu instal·lar XAMPP.

Phppdo

Pas 5: Feu clic a Següent aquí i seguiu endavant. La instal·lació del servidor XAMPP començarà a partir d'aquí.

java fer mentre
Phppdo

Pas 6: XAMPP s'ha instal·lat correctament. Feu clic al botó Finalitzar.

Phppdo

Pas 7: Seleccioneu l'idioma preferit.

Phppdo

Pas 8: Executeu el servidor Apache i MySQL des d'aquí (segons la captura de pantalla donada).

Phppdo

Pas 9: Ara, obriu php.ini des de C:/xampp/php/php.ini (on heu instal·lat el vostre XAMPP) i descomenceu l'extensió 'php_pdo_mysql.dll' i 'php_pdo.dll' (si esteu treballant amb la base de dades MySQL), o bé 'php_pdo_oci.dll' (si esteu treballant amb la base de dades Oracle). Ara, comenceu a treballar amb la base de dades. A la versió superior de PHP 5.1, ja està configurat.

Treballant amb DOP

En primer lloc, hem de crear una base de dades, així que creeu una base de dades amb el nom myDB des d'aquí.

Phppdo

Connexió a la base de dades

Sempre es requereix una connexió a la base de dades per interactuar amb la base de dades. Per tant, hem de conèixer l'identificador per accedir a la base de dades, és a dir, la ubicació de la base de dades, el nom de la base de dades, el nom d'usuari i la contrasenya.

Ara, creeu el programa de connexió de base de dades utilitzant PDO en qualsevol editor de text, com ara el bloc de notes o el bloc de notes ++ i deseu-lo amb el nom coonection.php. Executeu-lo al servidor XAMPP mitjançant localhost/80.

Exemple

 getMessage(); } ?> 

Sortida

Executeu-lo al servidor mitjançant l'URL següent localhost/Xampp/pdoexample/connection.php/ o on heu desat el programa.

Phppdo

Gestió de l'error de connexió

Es llançarà un objecte PDOException si hi ha algun error de connexió. Podem atrapar l'excepció si volem gestionar la condició d'error, o també podem deixar-la al gestor d'excepcions global que es pot configurar per set_exception_handler() funció.

aplicacions de computació en núvol

Exemple

En aquest exemple, dbUser(user-id) és incorrecte, de manera que llançarà una excepció, com podem veure a la sortida.

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

Tancant la connexió de la base de dades

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

Sortida

Phppdo