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:
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.
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.
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ā.
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:
ACVN klases
Ir trīs ACVN klases, kas norādītas tālāk:
ACVN atbalstītās datu bāzes
- MySQL
- PostgreSQL
- Orākuls
- Ugunsputns
- MS SQL serveris
- Sybase
- Informix
- IBM
- FreeTDS
- SQLite
- Cubrid
- 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 | Jā | Nē |
Objektu kartēšana | Jā | Jā |
Saglabātā procedūra | Jā | Jā |
Klientu puses sagatavotie paziņojumi | Jā | Nē |
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.
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
3. darbība: Atlasiet komponentus, kurus vēlaties instalēt, un noklikšķiniet uz pogas Tālāk.
4. darbība: Izveidojiet jaunu mapi ar nosaukumu xampp vietā, kur vēlaties instalēt XAMPP.
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
6. darbība: XAMPP ir veiksmīgi instalēts. Noklikšķiniet uz pogas Pabeigt.
7. darbība: Izvēlieties vēlamo valodu.
8. darbība: Palaidiet Apache serveri un MySQL no šejienes (kā norādīts dotajā ekrānuzņēmumā).
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.
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.
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(); } ?>
Datu bāzes savienojuma aizvēršana
getMessage(); } // this command close the connection. $dbConn = null; ?>
Izvade