PHP je open-source skriptni jezik opće namjene koji se naširoko koristi za stvaranje dinamičnih i interaktivnih web stranica. PHP može pristupiti velikom broju sustava za upravljanje relacijskim bazama podataka kao što su MYSQL, SQLite , i PostgreSQL . The PHP 5.1 verzija je ponudila novu biblioteku apstrakcije povezivanja baze podataka, koja je PHP podatkovni objekti (PDO).
Što je PDO?
PDO se odnosi na PHP podatkovni objekt , što je PHP proširenje koje definira lagano i dosljedno sučelje za pristup bazi podataka u PHP-u. To je skup PHP ekstenzija koje pružaju temeljnu PDO klasu i upravljački program specifičan za bazu podataka. Svaki upravljački program baze podataka može izložiti značajke specifične za bazu podataka kao regularnu funkciju proširenja koja implementira PDO sučelje.
inttostr java
Napomena: Ne možemo izvršiti bilo koju vrstu funkcije baze podataka pomoću samog PDO proširenja. Za pristup poslužitelju baze podataka moramo koristiti PDO upravljački program specifičan za bazu podataka.
PDO se uglavnom fokusira na apstrakciju pristupa podacima, a ne na apstrakciju baze podataka. Pruža sloj apstrakcije pristupa podacima , što znači da, bez obzira koju bazu podataka koristimo, moramo koristiti iste funkcije koje pruža ta baza podataka za postavljanje upita i dohvaćanje podataka. PDO ne pruža apstrakciju podataka jer ne prepisuje SQL niti oponaša značajke koje nedostaju.
Prednost PDO
PDO pruža različite načine rada s objektima i dohvaća pripremljene izjave koje znatno olakšavaju rad. To je alat za pristup bazi podataka u PHP-u putem kojeg omogućujemo jedinstveni pristup kroz više baza podataka.
PDO omogućuje razmjerno besprijekorno prebacivanje između različitih baza podataka i platformi, što se lako može učiniti promjenom niza veze. Ne podržava sintakse specifične za bazu podataka.
Postoje neke prednosti PDO-a kako slijedi:
PDO proširenje može pristupiti bilo kojoj bazi podataka koja je napisana za PDO upravljački program. Dostupno je nekoliko PDO upravljačkih programa koji se koriste za FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , i PostgreSQL baze podataka, između mnogih drugih.
Upravljački programi nisu automatski dostupni u svakom sustavu, pa moramo pronaći dostupne upravljačke programe i dodati ih kada nam zatrebaju.
Za uspostavljanje veze s bazom podataka dostupne su različite sintakse. Ove sintakse ovise o određenim bazama podataka. Dok koristite PDO, operacije moraju biti umotane u blokove try/catch i koristiti tehniku iznimke.
Obično je potrebno stvoriti samo jednu vezu, a te se veze zatvaraju programiranjem baze podataka da se postavi kao null.
PDO dopušta korištenje iznimaka za obradu pogrešaka. Da bi proizveo iznimku, PDO se može prisiliti na relevantni atribut načina pogreške.
Postoje tri načina greške, tj. Tiho (zadano), Upozorenje , i Iznimka . Upozorenje i iznimka su korisniji u DRY programiranju.
PDO smanjuje često korištenu operaciju umetanja i ažuriranja baze podataka u proces u dva koraka, tj.
Pripremi >> [Uveži] >> Izvrši.
Kroz ovu metodu, možemo u potpunosti iskoristiti PDO pripremljene izjave, koje štite od zlonamjernih napada putem SQL injekcije.
Pripremljene izjave su unaprijed kompajlirane SQL izjave koje se mogu izvršiti više puta slanjem ovih podataka na poslužitelj. Ovi podaci, koji se koriste unutar rezerviranog mjesta, automatski su zaštićeni od napada SQL injekcijom.
Prednosti korištenja PDO
PDO je izvorni upravljački program baze podataka. Postoje neke prednosti korištenja PDO-a koje su navedene u nastavku:
PDO klase
Postoje tri PDO klase, koje su navedene u nastavku:
Baze podataka koje podržava PDO
- MySQL
- PostgreSQL
- Oracle
- Žar ptica
- MS SQL poslužitelj
- Sybase
- Informix
- IBM
- FreeTDS
- SQLite
- Cubrid
- 4D
Usporedba između PDO i MySQLi
Za pristup bazi podataka pomoću PHP-a imamo uglavnom dvije opcije - MySQLi i PDO (PHP podatkovni objekt). MySQLi je izvorni za PHP koji pruža brže performanse, dok većina iskusnih programera radije radi s PDO jer podržava široku paletu upravljačkih programa baze podataka. Postoje neke razlike između PDO i MySQLi navedene u nastavku na temelju njihovih značajki.
Značajke | PDO | MySQLi |
---|---|---|
Podrška za DB | 12 različitih vozača | Samo MySQL |
Veza | Lako | Lako |
API | OTVOREN | OOP + postupak |
Izvođenje | Brzo | Brzo |
Imenovani parametar | Da | Ne |
Mapiranje objekata | Da | Da |
Pohranjeni postupak | Da | Da |
Izjave pripremljene na strani klijenta | Da | Ne |
Sigurnost | Sigurniji od MySQLi. | Sigurno, ali ne više od PDO. |
Što bi trebalo preferirati između PDO ili MySQLi?
I PDO i MySQLi imaju svoje prednosti:
- Kao što smo ranije vidjeli, PDO radi na 12 različitih sustava baza podataka, dok MySQL može raditi samo s MySQL bazom podataka. Dakle, ako želimo prebaciti naš projekt na drugu bazu podataka, PDO to olakšava. U MySQLiju moramo ponovno napisati cijeli kod.
- PDO i MySQLi su objektno orijentirani, ali MySQLi nudi i proceduralni API. Oba podržavaju pripremljene izjave. Pripremljeni iskazi važni su za sigurnost web aplikacije jer štite od ubacivanja SQL-a.
Zahtjev
Nema potrebe za vanjskim bibliotekama za izgradnju ovog proširenja.
Proces instalacije
Korak 1: Preuzmite najnoviji XAMPP poslužitelj odavde https://www.apachefriends.org/download.html za različite platforme kao što su Windows, Linux i MacOS.
Napomena: Ovdje ćemo raspravljati o procesu instalacije samo za Windows OS.
Korak 2: Instalirajte XAMPP poslužitelj na svoj sustav slijedeći ove korake.
niz za char
Korak 3: Odaberite komponente koje želite instalirati i kliknite na gumb Dalje.
Korak 4: Napravite novu mapu s nazivom xampp na mjestu gdje želite instalirati XAMPP.
Korak 5: Ovdje kliknite Dalje i krenite naprijed. Odavde će započeti instalacija XAMPP poslužitelja.
1 od 1000
Korak 6: XAMPP je uspješno instaliran. Pritisnite gumb Završi.
Korak 7: Odaberite željeni jezik.
Korak 8: Odavde pokrenite Apache poslužitelj i MySQL (prema danoj snimci zaslona).
Korak 9: Sada otvorite php.ini iz C:/xampp/php/php.ini (gdje ste instalirali svoj XAMPP) i odkomentirajte proširenje 'php_pdo_mysql.dll' i 'php_pdo.dll' (ako radite s MySQL bazom podataka), ili 'php_pdo_oci.dll' (ako radite s Oracle bazom podataka). Sada počnite raditi s bazom podataka. U višoj verziji PHP 5.1 već je postavljen.
Rad sa PDO
Prvo moramo kreirati bazu podataka, pa odavde kreirajte bazu podataka pod imenom myDB.
Veza s bazom podataka
Veza s bazom podataka uvijek je potrebna za interakciju s bazom podataka. Dakle, moramo znati identifikator za pristup bazi podataka, tj. lokaciju baze podataka, naziv baze podataka, korisničko ime i lozinku.
Sada izradite program za povezivanje baze podataka koristeći PDO u bilo kojem uređivaču teksta kao što je notepad ili notepad++ i spremite ga pod imenom coonection.php. Pokrenite ga na XAMPP poslužitelju koristeći localhost/80.
Primjer
getMessage(); } ?>
Izlaz
Pokrenite ga na poslužitelju koristeći sljedeći URL localhost/Xampp/pdoexample/connection.php/ ili gdje ste spremili svoj program.
Rukovanje pogreškom veze
Objekt PDOException bit će izbačen ako postoji bilo kakva pogreška veze. Možemo uhvatiti iznimku ako želimo obraditi stanje pogreške ili je možemo prepustiti globalnom rukovatelju iznimkama koji može postaviti set_exception_handler() funkcija.
jpa u proljeće
Primjer
U ovom primjeru, dbUser(user-id) je pogrešan, pa će izbaciti iznimku, kao što možemo vidjeti u izlazu.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Zatvaranje veze s bazom podataka
getMessage(); } // this command close the connection. $dbConn = null; ?>
Izlaz