PHP on avoimen lähdekoodin yleiskäyttöinen komentosarjakieli, jota käytetään laajalti dynaamisten ja interaktiivisten web-sivujen luomiseen. PHP voi käyttää laajaa valikoimaa relaatiotietokannan hallintajärjestelmiä, kuten MYSQL, SQLite , ja PostgreSQL . The PHP 5.1 versio tarjosi uuden tietokantayhteyden abstraktiokirjaston, joka on PHP-tietoobjektit (SAN).
paikallinen päivämäärä
Mikä on SAN?
SAN viittaa PHP-tietoobjekti , joka on PHP-laajennus, joka määrittelee kevyen ja johdonmukaisen käyttöliittymän PHP-tietokannan käyttämiseen. Se on joukko PHP-laajennuksia, jotka tarjoavat ydin PDO-luokan ja tietokantakohtaisen ohjaimen. Jokainen tietokantaohjain voi paljastaa tietokantakohtaisia ominaisuuksia tavallisena laajennusfunktiona, joka toteuttaa PDO-rajapinnan.
Huomautus: Emme voi suorittaa minkäänlaisia tietokantatoimintoja käyttämällä itse PDO-laajennusta. Tietokantapalvelimen käyttämiseksi meidän on käytettävä tietokantakohtaista PDO-ohjainta.
SAN keskittyy pääasiassa tiedonsaannin poistamiseen tietokannan abstraktion sijaan. Se tarjoaa tiedonsaannin abstraktiokerros , mikä tarkoittaa, että riippumatta siitä, mitä tietokantaa käytämme, meidän on käytettävä tietokannan tarjoamia samoja toimintoja kyselyjen tekemiseen ja tietojen hakemiseen. PDO ei tarjoa tietojen abstraktiota, koska se ei kirjoita SQL:ää uudelleen tai emuloi puuttuvia ominaisuuksia.
SAN:n etu
PDO tarjoaa erilaisia tapoja työskennellä objektien kanssa ja hakee valmiita lausekkeita, jotka helpottavat työtä huomattavasti. Se on PHP:n tietokantakäyttötyökalu, jonka avulla mahdollistamme yhtenäisen pääsyn useisiin tietokantoihin.
PDO mahdollistaa suhteellisen saumattoman vaihdon eri tietokantojen ja alustojen välillä, mikä voidaan tehdä helposti vaihtamalla yhteysmerkkijonoa. Se ei tue tietokantakohtaisia syntakseja.
SAN:lla on joitain seuraavia etuja:
PDO-laajennus voi käyttää mitä tahansa tietokantaa, joka on kirjoitettu PDO-ohjaimelle. Saatavilla on useita SAN-ohjaimia, joita käytetään FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , ja PostgreSQL tietokannat monien muiden joukossa.
Ohjaimet eivät ole saatavilla kaikissa järjestelmissä automaattisesti, joten meidän on löydettävä käytettävissä olevat ajurit ja lisättävä niitä tarvittaessa.
Tietokantayhteyden muodostamiseen on käytettävissä erilaisia syntakseja. Nämä syntaksit riippuvat tietyistä tietokannoista. PDO:ta käytettäessä toiminnot tulee kääriä try/catch-lohkoihin ja hyödyntää poikkeustekniikkaa.
Yleensä tarvitaan vain yksi yhteys, ja nämä yhteydet suljetaan ohjelmoimalla tietokanta nollaksi.
PDO sallii poikkeuksien käytön virheiden käsittelyssä. Poikkeuksen tuottamiseksi PDO voidaan pakottaa asiaankuuluvaan virhetilan määritteeseen.
Virhetilaa on kolme, ts. Hiljainen (oletus), Varoitus , ja Poikkeus . Varoitus ja poikkeus ovat hyödyllisempiä DRY-ohjelmoinnissa.
PDO vähentää yleisesti käytetyn tietokannan lisäys- ja päivitystoiminnon kaksivaiheiseksi prosessiksi, ts.
Valmistele >> [Sido] >> Suorita.
Tämän menetelmän avulla voimme hyödyntää täysimääräisesti PDO:n valmisteltuja lausekkeita, jotka suojaavat haitallisilta hyökkäyksiltä SQL-injektion kautta.
Valmistetut lauseet ovat valmiiksi käännettyjä SQL-käskyjä, jotka voidaan suorittaa useita kertoja lähettämällä nämä tiedot palvelimelle. Nämä tiedot, joita käytetään paikkamerkin sisällä, suojataan automaattisesti SQL-injektiohyökkäykseltä.
SAN:n käytön edut
PDO on alkuperäinen tietokantaohjain. SAN:n käytöstä on joitain etuja, jotka on esitetty alla:
SAN-luokat
On olemassa kolme SAN-luokkaa, jotka on esitetty alla:
SAN:n tukemat tietokannat
- MySQL
- PostgreSQL
- Oraakkeli
- Tulilintu
- MS SQL Server
- Sybase
- Informix
- IBM
- FreeTDS
- SQLite
- Cubrid
- 4D
SAN:n ja MySQLin vertailu
Päästäksemme tietokantaan PHP:n avulla, meillä on pääasiassa kaksi vaihtoehtoa - MySQLi ja SAN (PHP-tietoobjekti). MySQLi on natiivi PHP:lle, joka tarjoaa nopeamman suorituskyvyn, kun taas useimmat kokeneet kehittäjät haluavat työskennellä PDO:n kanssa, koska se tukee monenlaisia tietokantaohjaimia. Alla lueteltujen SAN:n ja MySQLin välillä on joitain eroja niiden ominaisuuksien perusteella.
ominaisuudet | SAN | MySQLi |
---|---|---|
DB tuki | 12 erilaista kuljettajaa | Vain MySQL |
Yhteys | Helppo | Helppo |
API | AVATA | OOP + menettely |
Esitys | Nopeasti | Nopeasti |
Nimetty parametri | Joo | Ei |
Objektikartoitus | Joo | Joo |
Tallennettu menettely | Joo | Joo |
Asiakaspuolen laatimat lausunnot | Joo | Ei |
Turvallisuus | Turvallisempi kuin MySQLi. | Turvallinen, mutta ei enempää kuin SAN. |
Kumpaa pitäisi suosia SAN:n tai MySQLin välillä?
Sekä SAN:lla että MySQLillä on omat etunsa:
- Kuten olemme aiemmin nähneet, PDO toimii 12 eri tietokantajärjestelmässä, kun taas MySQL voi toimia vain MySQL-tietokannan kanssa. Joten jos haluamme vaihtaa projektimme toiseen tietokantaan, PDO tekee siitä helppoa. MySQLissä meidän on kirjoitettava koko koodi uudelleen.
- PDO ja MySQLi ovat molemmat oliokeskeisiä, mutta MySQLi tarjoaa myös proseduurin API:n. Molemmat tukevat Valmistettuja lausuntoja. Valmistetut lausunnot ovat tärkeitä verkkosovellusten turvallisuuden kannalta, koska ne suojaavat SQL-injektiolta.
Vaatimus
Tämän laajennuksen rakentamiseen ei tarvita ulkoisia kirjastoja.
Asennusprosessi
Vaihe 1: Lataa uusin XAMPP-palvelin täältä https://www.apachefriends.org/download.html eri alustoille, kuten Windows, Linux ja MacOS.
Huomautus: Tässä keskustelemme vain Windows-käyttöjärjestelmän asennusprosessista.
Vaihe 2: Asenna XAMPP-palvelin järjestelmääsi noudattamalla näitä ohjeita.
merkkijono
Vaihe 3: Valitse komponentit, jotka haluat asentaa ja napsauta Seuraava-painiketta.
Vaihe 4: Luo uusi kansio nimellä xampp paikkaan, johon haluat asentaa XAMPP:n.
Vaihe 5: Napsauta Seuraava tästä ja siirry eteenpäin. XAMPP-palvelimen asennus alkaa tästä.
java hei maailma
Vaihe 6: XAMPP on asennettu onnistuneesti. Napsauta Valmis-painiketta.
Vaihe 7: Valitse haluamasi kieli.
Vaihe 8: Suorita Apache-palvelin ja MySQL täältä (annetun kuvakaappauksen mukaan).
Vaihe 9: Avaa nyt php.ini osoitteesta C:/xampp/php/php.ini (mihin olet asentanut XAMPP:n) ja poista laajennuksen kommentti 'php_pdo_mysql.dll' ja 'php_pdo.dll' (jos työskentelet MySQL-tietokannan kanssa), tai 'php_pdo_oci.dll' (jos työskentelet Oracle-tietokannan kanssa). Aloita nyt työskentely tietokannan kanssa. PHP 5.1:n uudemmassa versiossa se on jo asetettu.
Työskentely SAN:n kanssa
Ensin meidän on luotava tietokanta, joten luo tietokanta nimellä myDB täältä.
Tietokantayhteys
Tietokantayhteys tarvitaan aina vuorovaikutukseen tietokannan kanssa. Joten meidän on tiedettävä tunniste päästäksemme tietokantaan, eli tietokannan sijainti, tietokannan nimi, käyttäjätunnus ja salasana.
Luo nyt tietokantayhteysohjelma käyttämällä PDO:ta missä tahansa tekstieditorissa, kuten notepad tai notepad++, ja tallenna se coonection.php-nimellä. Suorita se XAMPP-palvelimella käyttämällä localhost/80:tä.
Esimerkki
getMessage(); } ?>
Lähtö
Suorita se palvelimella käyttämällä seuraavaa URL-osoitetta localhost/Xampp/pdoexample/connection.php/ tai mihin olet tallentanut ohjelmasi.
Yhteysvirheen käsittely
PDOException-objekti heitetään, jos tapahtuu yhteysvirhe. Saatamme havaita poikkeuksen, jos haluamme käsitellä virhetilan, tai voimme myös jättää sen globaalin poikkeuskäsittelijän tehtäväksi, jonka voi määrittää set_exception_handler() toiminto.
jpa keväällä
Esimerkki
Tässä esimerkissä dbUser(user-id) on väärä, joten se heittää poikkeuksen, kuten voimme nähdä tulosteessa.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Tietokantayhteyden sulkeminen
getMessage(); } // this command close the connection. $dbConn = null; ?>
Lähtö