PHP er et open source-generelt scriptsprog, som er meget brugt til at skabe dynamiske og interaktive websider. PHP kan få adgang til en lang række relationelle databasestyringssystemer som f.eks MYSQL, SQLite , og PostgreSQL . Det PHP 5.1 version tilbød et nyt abstraktionsbibliotek for databaseforbindelse, hvilket er PHP dataobjekter (BOB).
Hvad er PDO?
PDO henviser til PHP dataobjekt , som er en PHP-udvidelse, der definerer en let og ensartet grænseflade til at få adgang til en database i PHP. Det er et sæt PHP-udvidelser, som giver en kerne PDO-klasse og databasespecifik driver. Hver databasedriver kan afsløre databasespecifikke funktioner som en almindelig udvidelsesfunktion, der implementerer PDO-grænsefladen.
Bemærk: Vi kan ikke udføre nogen form for databasefunktion ved at bruge selve PDO-udvidelsen. For at få adgang til en databaseserver skal vi bruge en databasespecifik PDO-driver.
PDO fokuserer hovedsageligt på dataadgangsabstraktion snarere end databaseabstraktion. Det giver dataadgang abstraktionslag , hvilket betyder, at vi, uanset hvilken database vi bruger, skal bruge de samme funktioner, som den pågældende database giver til at udstede forespørgsler og hente data. PDO giver ikke dataabstraktion, da den ikke omskriver SQL eller emulerer manglende funktioner.
Fordel ved PDO
PDO giver forskellige måder at arbejde med objekter på og henter udarbejdede udsagn, der gør arbejdet meget lettere. Det er et databaseadgangsværktøj i PHP, hvorigennem vi muliggør ensartet adgang på tværs af flere databaser.
PDO tillader forholdsvis problemfri skift mellem forskellige databaser og platforme, hvilket nemt kan gøres ved at ændre forbindelsesstrengen. Det understøtter ikke databasespecifikke syntakser.
array i streng
Der er nogle fordele ved PDO som følger:
dobbelt i java
PDO-udvidelsen kan få adgang til enhver database, der er skrevet til PDO-driver. Der er flere PDO-drivere tilgængelige, som bruges til FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , og PostgreSQL databaser blandt mange flere.
Driverne er ikke automatisk tilgængelige i alle systemer, så vi er nødt til at finde vores tilgængelige drivere og tilføje dem, når vi har brug for dem.
Der er forskellige syntakser til rådighed for at etablere databaseforbindelsen. Disse syntakser afhænger af specifikke databaser. Mens du bruger PDO, skal operationer pakkes ind i try/catch-blokke og bruge undtagelsesteknikken.
Normalt skal der kun oprettes en enkelt forbindelse, og disse forbindelser lukkes ved at programmere databasen til at indstille som en null.
PDO tillader at bruge undtagelser til fejlhåndtering. For at producere en undtagelse kan PDO tvinges til en relevant fejltilstandsattribut.
Der er tre fejltilstande, dvs. Stille (Standard), Advarsel , og Undtagelse . Advarsel og Undtagelse er mere nyttige i DRY-programmering.
PDO reducerer den almindeligt anvendte indsættelse og opdatering af databaseoperation til en to-trins proces, dvs.
Forbered >> [Bind] >> Udfør.
Gennem denne metode kan vi drage fuld fordel af PDO's forberedte sætninger, som beskytter mod ondsindede angreb gennem SQL-injektion.
Forberedte sætninger er prækompilerede SQL-sætninger, der kan udføres flere gange ved at sende disse data til serveren. Disse data, som bruges i pladsholderen, er automatisk beskyttet mod SQL-injektionsangrebet.
Fordele ved at bruge PDO
PDO er den oprindelige databasedriver. Der er nogle fordele ved at bruge PDO, som er angivet nedenfor:
BOB-klasser
Der er tre BOB-klasser, som er angivet nedenfor:
Databaser understøttet af PDO
- MySQL
- PostgreSQL
- Oracle
- Ildfugl
- MS SQL Server
- Sybase
- Informix
- IBM
- GratisTDS
- SQLite
- Cubrid
- 4D
Sammenligning mellem PDO og MySQLi
For at få adgang til databasen ved at bruge PHP, har vi hovedsageligt to muligheder - MySQLi og BOB (PHP-dataobjekt). MySQLi er en indfødt til PHP, der giver hurtigere ydeevne, hvorimod de fleste af de erfarne udviklere foretrækker at arbejde med PDO, da det understøtter en lang række databasedrivere. Der er nogle forskelle mellem PDO og MySQLi nedenfor baseret på deres funktioner.
Funktioner | BOB | MySQLi |
---|---|---|
DB Support | 12 forskellige drivere | Kun MySQL |
Forbindelse | Let | Let |
API | ÅBEN | OOP + Procedure |
Ydeevne | Hurtig | Hurtig |
Navngivet parameter | Ja | Ingen |
Objekt kortlægning | Ja | Ja |
Lagret procedure | Ja | Ja |
Udarbejdede erklæringer på klientsiden | Ja | Ingen |
Sikkerhed | Mere sikker end MySQLi. | Sikker, men ikke mere end PDO. |
Hvad skal foretrækkes mellem PDO eller MySQLi?
Både PDO og MySQLi har deres egne fordele:
- Som vi har set tidligere, virker PDO på 12 forskellige databasesystemer, hvorimod MySQL kun kan fungere med MySQL-database. Så hvis vi ønsker at skifte vores projekt til en anden database, gør PDO det nemt. I MySQLi skal vi omskrive hele koden.
- PDO og MySQLi er begge objektorienterede, men MySQLi tilbyder også procedure-API. Begge understøtter udarbejdede erklæringer. Forberedte erklæringer er vigtige for webapplikationssikkerhed, da de beskytter mod SQL-injektion.
Krav
Der er ikke behov for eksterne biblioteker for at bygge denne udvidelse.
grænseflade i java
Installationsproces
Trin 1: Download den seneste XAMPP-server herfra https://www.apachefriends.org/download.html til forskellige platforme som Windows, Linux og MacOS.
Bemærk: Her vil vi kun diskutere installationsprocessen for Windows OS.
Trin 2: Installer XAMPP-serveren på dit system ved at følge disse trin.
Trin 3: Vælg de komponenter, du vil installere, og klik på knappen Næste.
Trin 4: Opret den nye mappe med navnet xampp på det sted, hvor du vil installere XAMPP.
Trin 5: Klik på Næste her og gå videre. Installation af XAMPP-serveren starter herfra.
Trin 6: XAMPP er installeret korrekt. Klik på knappen Afslut.
Trin 7: Vælg det foretrukne sprog.
Trin 8: Kør Apache-serveren og MySQL herfra (i henhold til det givne skærmbillede).
Trin 9: Åbn nu php.ini fra C:/xampp/php/php.ini (hvor du har installeret din XAMPP) og fjern kommentarer til udvidelsen 'php_pdo_mysql.dll' og 'php_pdo.dll' (hvis du arbejder med MySQL-database), eller 'php_pdo_oci.dll' (hvis du arbejder med Oracle-database). Begynd nu at arbejde med databasen. I PHP 5.1 øvre version er den allerede indstillet.
java flygtigt søgeord
Arbejder med PDO
Først skal vi oprette en database, så opret en database ved navn myDB herfra.
Database forbindelse
En databaseforbindelse er altid påkrævet for at interagere med databasen. Så vi skal kende identifikatoren for at få adgang til databasen, dvs. databasens placering, databasenavn, brugernavn og adgangskode.
Opret nu databaseforbindelsesprogrammet ved hjælp af PDO i en hvilken som helst teksteditor, såsom notesblok eller notesblok++, og gem det ved navn coonection.php. Kør det på XAMPP-server ved hjælp af localhost/80.
boto3
Eksempel
getMessage(); } ?>
Produktion
Kør det på serveren ved hjælp af følgende URL localhost/Xampp/pdoexample/connection.php/ eller hvor du har gemt dit program.
Håndtering af forbindelsesfejl
Et PDOException-objekt vil blive kastet, hvis der er en forbindelsesfejl. Vi kan fange undtagelsen, hvis vi ønsker at håndtere fejltilstanden, eller vi kan også overlade den til den globale undtagelsesbehandler, som kan konfigureres af set_exception_handler() fungere.
Eksempel
I dette eksempel er dbUser(bruger-id) forkert, så det vil give en undtagelse, som vi kan se i outputtet.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Lukning af databaseforbindelsen
getMessage(); } // this command close the connection. $dbConn = null; ?>
Produktion