logo

Ievads PHP ACVN

PHP ir atvērtā pirmkoda vispārēja skriptu valoda, ko plaši izmanto dinamisku un interaktīvu tīmekļa lapu izveidošanai. PHP var piekļūt lielam relāciju datu bāzes pārvaldības sistēmu klāstam, piemēram MYSQL, SQLite , un PostgreSQL . The PHP 5.1 versija piedāvāja jaunu datu bāzes savienojuma abstrakcijas bibliotēku, kas ir PHP datu objekti (ACVN).

java pāris

Kas ir ACVN?

ACVN attiecas uz PHP datu objekts , kas ir PHP paplašinājums, kas definē vieglu un konsekventu saskarni, lai piekļūtu datubāzei PHP. Tas ir PHP paplašinājumu komplekts, kas nodrošina galveno ACVN klasi un datu bāzes draiveri. Katrs datu bāzes draiveris var parādīt datu bāzei specifiskus līdzekļus kā regulāru paplašinājuma funkciju, kas ievieš ACVN saskarni.

Piezīme. Mēs nevaram veikt nekāda veida datu bāzes funkcijas, izmantojot pašu ACVN paplašinājumu. Lai piekļūtu datu bāzes serverim, mums ir jāizmanto datubāzei raksturīgs ACVN draiveris.

ACVN galvenokārt koncentrējas uz datu piekļuves abstrakciju, nevis datu bāzes abstrakciju. Tas nodrošina datu piekļuves abstrakcijas slānis , kas nozīmē, ka neatkarīgi no tā, kuru datu bāzi mēs izmantojam, mums ir jāizmanto tās pašas šīs datu bāzes funkcijas, lai izdotu vaicājumus un ielādētu datus. ACVN nenodrošina datu abstrakciju, jo tas nepārraksta SQL vai emulē trūkstošos līdzekļus.

ACVN priekšrocība

ACVN nodrošina dažādus veidus, kā strādāt ar objektiem un izgūst sagatavotus paziņojumus, kas ievērojami atvieglo darbu. Tas ir datu bāzes piekļuves rīks PHP, ar kura palīdzību mēs nodrošinām vienotu piekļuvi vairākām datu bāzēm.

ACVN ļauj salīdzinoši nemanāmi pārslēgties starp dažādām datu bāzēm un platformām, ko var viegli izdarīt, mainot savienojuma virkni. Tas neatbalsta datu bāzei specifiskas sintakses.

ACVN ir dažas šādas priekšrocības:

    Datu bāzes atbalsts
    ACVN paplašinājums var piekļūt jebkurai datubāzei, kas ir rakstīta ACVN draiverim. Ir pieejami vairāki ACVN draiveri, kas tiek izmantoti FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle zvanu saskarne, Firebird/Interbase 6 , un PostgreSQL datubāzes, starp daudzām citām.
    Draiveri nav pieejami katrā sistēmā automātiski, tāpēc mums ir jāatrod pieejamie draiveri un jāpievieno tie, kad tie ir nepieciešami.Datu bāzes savienošana
    Ir pieejamas dažādas sintakses, lai izveidotu datu bāzes savienojumu. Šīs sintakses ir atkarīgas no konkrētām datu bāzēm. Lietojot ACVN, darbības jāiekļauj try/catch blokos un jāizmanto izņēmuma tehnika.
    Parasti ir jāizveido tikai viens savienojums, un šie savienojumi tiek slēgti, ieprogrammējot datu bāzi, lai to iestatītu kā nulli.Kļūdu apstrāde
    ACVN atļauj izmantot izņēmumus kļūdu apstrādei. Lai radītu izņēmumu, ACVN var piespiest izmantot attiecīgo kļūdas režīma atribūtu.
    Ir trīs kļūdu režīmi, t.i., Kluss (noklusējums), Brīdinājums , un Izņēmums . Brīdinājums un izņēmums ir noderīgāki DRY programmēšanā.
      Kluss- Tas ir noklusējuma kļūdas režīms.Brīdinājums- Tas ir noderīgi atkļūdošanai.Izņēmums- Šis režīms nodrošina graciozu kļūdu apstrādi, vienlaikus slēpjot datus, ko persona varētu izmantot, lai izmantotu jūsu sistēmu.
    Ievietojiet un atjauniniet
    ACVN samazina bieži izmantoto datu bāzes ievietošanas un atjaunināšanas darbību divpakāpju procesā, t.i.
    Sagatavot >> [Saistīt] >> Izpildīt.
    Izmantojot šo metodi, mēs varam pilnībā izmantot ACVN sagatavotos paziņojumus, kas aizsargā pret ļaunprātīgiem uzbrukumiem, izmantojot SQL injekciju.
    Sagatavotie priekšraksti ir iepriekš kompilēti SQL priekšraksti, kurus var izpildīt vairākas reizes, nosūtot šos datus uz serveri. Šie dati, kas tiek izmantoti vietturā, tiek automātiski aizsargāti pret SQL injekcijas uzbrukumu.

ACVN lietošanas priekšrocības

ACVN ir vietējais datu bāzes draiveris. ACVN izmantošanai ir dažas priekšrocības, kas norādītas tālāk:

    Lietojamība- Tas satur daudzas palīgfunkcijas, lai veiktu automātiskas ikdienas darbības.Atkārtota izmantošana- Tas piedāvā vienotu API, lai piekļūtu vairākām datu bāzēm.Drošība- Tas izmanto sagatavotu paziņojumu, kas aizsargā no SQL injekcijas. Sagatavots priekšraksts ir iepriekš kompilēts SQL priekšraksts, kas atdala SQL priekšraksta norādījumus no datiem.

ACVN klases

Ir trīs ACVN klases, kas norādītas tālāk:

    ACVN- Tas atspoguļo savienojumu starp PHP un datu bāzi.PDO paziņojums- Tas attēlo sagatavoto paziņojumu un pēc paziņojuma izpildes nosaka saistīto rezultātu.PDOIzņēmums- Tas atspoguļo ACVN radītās kļūdas.

ACVN atbalstītās datu bāzes

  1. MySQL
  2. PostgreSQL
  3. Orākuls
  4. Ugunsputns
  5. MS SQL serveris
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Cubrid
  12. 4D

ACVN un MySQLi salīdzinājums

Lai piekļūtu datu bāzei, izmantojot PHP, mums ir galvenokārt divas iespējas - MySQLi un ACVN (PHP datu objekts). MySQLi ir vietējais PHP, kas nodrošina ātrāku veiktspēju, savukārt lielākā daļa pieredzējušo izstrādātāju dod priekšroku darbam ar ACVN, jo tas atbalsta plašu datu bāzes draiveru klāstu. Tālāk ir norādītas dažas atšķirības starp ACVN un MySQLi, pamatojoties uz to funkcijām.

Iespējas ACVN MySQLi
DB atbalsts 12 dažādi draiveri Tikai MySQL
Savienojums Viegli Viegli
API ATVĒRTS OOP + procedūra
Performance Ātri Ātri
Nosaukts parametrs
Objektu kartēšana
Saglabātā procedūra
Klientu puses sagatavotie paziņojumi
Drošība Drošāks par MySQLi. Drošs, bet ne vairāk kā ACVN.

Kuram būtu jādod priekšroka starp ACVN vai MySQLi?

Gan ACVN, gan MySQLi ir savas priekšrocības:

  • Kā mēs redzējām iepriekš, ACVN darbojas 12 dažādās datu bāzes sistēmās, savukārt MySQL var strādāt tikai ar MySQL datu bāzi. Tātad, ja mēs vēlamies pārslēgt savu projektu uz citu datu bāzi, ACVN atvieglo to. MySQLi mums ir jāpārraksta viss kods.
  • Gan ACVN, gan MySQLi ir objektorientēti, taču MySQLi piedāvā arī procesuālo API. Abi atbalsta sagatavotos paziņojumus. Sagatavotie paziņojumi ir svarīgi tīmekļa lietojumprogrammu drošībai, jo tie aizsargā no SQL injekcijas.

Prasība

Lai izveidotu šo paplašinājumu, nav nepieciešamas ārējas bibliotēkas.

Uzstādīšanas process

1. darbība: Lejupielādējiet jaunāko XAMPP serveri no šejienes https://www.apachefriends.org/download.html dažādām platformām, piemēram, Windows, Linux un MacOS.

Phppdo

Piezīme. Šeit mēs apspriedīsim instalēšanas procesu tikai operētājsistēmai Windows.

2. darbība: Instalējiet XAMPP serveri savā sistēmā, veicot šīs darbības.

dubultā java
Phppdo

3. darbība: Atlasiet komponentus, kurus vēlaties instalēt, un noklikšķiniet uz pogas Tālāk.

Phppdo

4. darbība: Izveidojiet jaunu mapi ar nosaukumu xampp vietā, kur vēlaties instalēt XAMPP.

Phppdo

5. darbība: Noklikšķiniet šeit uz Tālāk un virzieties uz priekšu. XAMPP servera instalēšana sāksies no šejienes.

java saraksti
Phppdo

6. darbība: XAMPP ir veiksmīgi instalēts. Noklikšķiniet uz pogas Pabeigt.

Phppdo

7. darbība: Izvēlieties vēlamo valodu.

Phppdo

8. darbība: Palaidiet Apache serveri un MySQL no šejienes (kā norādīts dotajā ekrānuzņēmumā).

Phppdo

9. darbība: Tagad atveriet php.ini no C:/xampp/php/php.ini (kur esat instalējis savu XAMPP) un noņemiet paplašinājuma komentāru 'php_pdo_mysql.dll' un 'php_pdo.dll' (ja strādājat ar MySQL datu bāzi), vai 'php_pdo_oci.dll' (ja strādājat ar Oracle datu bāzi). Tagad sāciet strādāt ar datu bāzi. PHP 5.1 augšējā versijā tas jau ir iestatīts.

Darbs ar ACVN

Vispirms mums ir jāizveido datu bāze, tāpēc izveidojiet datu bāzi ar nosaukumu myDB no šejienes.

Phppdo

Datu bāzes savienojums

Lai mijiedarbotos ar datu bāzi, vienmēr ir nepieciešams datu bāzes savienojums. Tātad, mums ir jāzina identifikators, lai piekļūtu datu bāzei, t.i., datu bāzes atrašanās vieta, datu bāzes nosaukums, lietotājvārds un parole.

Tagad izveidojiet datu bāzes savienojuma programmu, izmantojot ACVN, jebkurā teksta redaktorā, piemēram, notepad vai notepad++, un saglabājiet to ar coonection.php nosaukumu. Palaidiet to XAMPP serverī, izmantojot localhost/80.

Piemērs

 getMessage(); } ?> 

Izvade

Palaidiet to serverī, izmantojot šādu URL localhost/Xampp/pdoexample/connection.php/ vai kur esat saglabājis savu programmu.

Phppdo

Apstrādājot savienojuma kļūdu

PDOException objekts tiks izmests, ja radīsies savienojuma kļūda. Mēs varam uztvert izņēmumu, ja vēlamies apstrādāt kļūdas stāvokli, vai arī varam to atstāt globālo izņēmumu apstrādātājam, ko var iestatīt set_exception_handler() funkciju.

konvertēt datumu par virkni

Piemērs

Šajā piemērā dbUser(user-id) ir nepareizs, tāpēc tas radīs izņēmumu, kā mēs redzam izvadē.

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

Datu bāzes savienojuma aizvēršana

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

Izvade

Phppdo