Klase MySQL datu bāzu pārvaldīšanai, izmantojot MySQLi un pHp

Satura rādītājs
MySQLi paplašinājums ir relāciju datu bāzes draiveris, to izmanto pHp programmēšanas valodā, lai nodrošinātu saskarni ar MySQL datu bāzēm.
MySQLi izmantošanas priekšrocības
Sagatavoti paziņojumi: ir vieglāk izveidot vaicājumus, tas piedāvā lielu drošību pret SQL ievadīšanu, izmantojot šādu funkciju:
 $ mysqli-> sagatavot ();
Vairāki jautājumi vai jautājumi
Iespēja izpildīt vairākus vaicājumus vai vaicājumus savienojumā.
Piemērs
 $ sqla = "SELECT * no klientiem;" $ sqlb. = "SELECT*FROM rēķini ***** BY customerid" $ mysqli-> multi_query ($ sqla; sqlb) 
Objektorientēts
Šī MySQLi funkcija ļauj izstrādātājam izmantot objektus, lai uzlabotu avota koda izmantošanu, veiktspēju un redzamību.
MySQLi paplašinājuma draiveris tiek izmantots PHP programmēšanas valodā, lai nodrošinātu saskarni ar MySQL datu bāzēm. PHP programmēšanas valodas izstrādātāji iesaka izmantot MySQLi, ja runa ir par MySQL servera versijām 4.1.3 un jaunākām.
Mēs izveidosim klasi, ko izmantot no pHp ar metodēm un īpašībām, lai manipulētu vai pārvaldītu jebkuru datu bāzi.
Klase būs šāda:
 class dbmysqli {// deklarēt mainīgo savienojumam publisks $ savienojums; // Mēs deklarējam klases publiskās funkcijas konstruktoru __construct ($ host, $ user, $ password, $ db) {} // funkcija, lai izveidotu tabulas public function create table ($ sql) {} // Saglabājiet jaunus datus datu bāzes datu publiskās funkcijas ieliktnis ($ tabula, $ lauka dati) {} // Dzēst datus no datu bāzes publiskās funkcijas dzēšana ($ tabula, $ lauka dati) {} publiskās funkcijas atjauninājums ($ table, $ field set, $ field condition) {} / / function Meklēt tabulā publisku funkciju meklēšana ($ table, $ lauki) {}} 
MySQLi savienojums un klase
Lai izveidotu savienojumu ar MySQLi serveri, mums jāizsauc konstruktoru metode un jānosūta četri argumenti - resursdatora nosaukums, piemēram, localhost, lietotājvārds, datu bāzes parole un datu bāzes nosaukums.
Konstruktorā mēs pievienojam savienojumu serverim:
 publiska funkcija __construct ($ host, $ user, $ password, $ db) {$ this-> connection = new mysqli ($ host, $ user, $ clav); } 
Tad mēs to izsauksim šādi:
 // Savienojuma izveide ar serveri un datu bāzi $ conectb = new dbmysqli ("localhost", "root", "abc123" c, "Vehiculosdb"); 
Mēs definējam metodi, kā dinamiski izveidot tabulas:
 // Funkcija, kas izveido tabulas publiska funkcija createstable ($ sql) {if ($ this-> connection-> query ($ sql) === TRUE) {echo "Tabula ir izveidota"; } else {echo "Neizdevās: tabula nav izveidota". $ this-> savienojums-> kļūda; }} 
Tad mēs to izsauksim šādi, izveidosim SQL vaicājumu un izsauksim funkciju krertabla ():
 $ sql = ”DROP TABLE IF EXISTS` customers`; IZVEIDOT TABULU, JA NEPASTĀV "klienti" ("customerid" int (11) NOT NULL AUTO_INCREMENT, "name" varchar (255) NOT NULL, PRIMARY KEY ("customerid")) "$ connectb -> creartabla ($ sql); 
No pHpMyAdmin mēs varam redzēt, kā tabula ir izveidota, izpildot php skripts.

Mēs definējam datu ievietošanas / saglabāšanas metodi
Tālāk mēs izveidojam metodes, ko sauc par ABM vai CRUD, kuras būs atbildīgas par tabulu datu pārvaldību. Lai nosūtītu parametrus katrai metodei, mēs izmantosim masīvu, kurā masīva indekss būs tabulas lauks, bet šī indeksa vērtība būs tabulas lauka dati. Katram indeksa nosaukumam jābūt iekļautam pēdiņās, un vērtībai jāatbilst šādiem noteikumiem:
  • Virkņu vērtībām ir jābūt pēdiņām. Piemērs "name" => 'Maria'
  • Ciparu vērtībām nedrīkst būt pēdiņas. Piemērs "cena" => 10,50
  • Vārdam NULL OR tukšs nedrīkst būt pēdiņas. Piemērs "cena" => NULL
 // Mēs izveidojam funkciju, kas par parametru izmantos masīva lauku => datu publisko funkciju ieliktni ($ tabula, $ lauka dati) {// mēs atdalām datus, ja ir vairāki $ field = implode (",", array_keys ($ lauka dati)); $ i = 0; foreach ($ datu lauki kā $ index => $ value) {$ data [$ i] = "'". $ value "" "; $ i ++; } $ data = implode (",", $ data); // Mēs ievietojam vērtības katrā laukā, ja ($ this-> connection-> query ("INSERT INTO $ table ($ index) VALUES ($ data)") === TRUE) {echo "Jauns klients ievietots"; } else {echo "Klients nav ievietots neizdevās". $ this-> savienojums-> kļūda; }} 
Mēs izveidojam savu matricu ar datiem, kas var tikt iegūti no šādas formas:
 // Datu matrica, lai ievietotu $ customers = array ("name" => 'Carlos Moira', "name" => 'Jose Triana', "name" => 'Julia Ordoñez', "name" => 'Carla Angelez' ); 
Tad mēs to izsauksim šādi, mēs izmantosim ievietošanas funkciju ("klienti", $ klienti) un pievienosim parametrus:
 $ conedb -> ievietojiet ("klienti", $ klienti);
Mēs definējam datu dzēšanas metodi
Lai veiktu dzēšanas darbību, mēs deklarējam masīvu, kurā norādīsim, kuru rindu vai ID mēs vēlamies dzēst.
 // funkcija, lai dzēstu datus no tabulas publiska funkcija delete ($ table, $ datafields) {$ i = 0; foreach ($ datu lauki kā $ index => $ value) {$ data [$ i] = "'". $ value "" "; $ i ++; } $ lauks un dati = implode ("UN", $ dati); if ($ šis-> savienojums-> vaicājums ("DELETE FROM $ $ WHERE $ fielddata") === TRUE) {if (mysqli_affected_rows ($ this-> connection)) {echo "Ieraksts izdzēsts"; } else {echo "Neizdevās, ierakstu nevarēja izdzēst". $ this-> connection-> error;}} 
Mēs izveidojam savu matricu ar atlasītajiem dzēšamajiem datiem, kas var tikt iegūti no veidlapas
 // Datu matrica, lai dzēstu $ klienti delete = array ("customer id" => 1, "customer id" => 50, "customer id" => 8, "customer id" => 104); 
Tad mēs to izsauksim šādi, mēs izmantosim dzēšanas funkciju ("klienti", $ klienti dzēsīs) un pievienosim parametrus
 $ conectadb -> dzēst (“klienti”, $ klienti dzēš);
Mēs definējam datu atjaunināšanas metodi
Lai atjauninātu tās rindas datus, kas mums ir jāmaina, mēs deklarēsim divus asociatīvos masīvus, no kuriem viens būs jāmaina laukiem, bet otrs - nosacījumam. kur SQL vaicājumā. Matricas noteikumiem ir jāievēro tā pati sintakse, kuru mēs matricai definējām no sākuma.
Ņemot vērā MySQL atjaunināšanas sintaksi:
 UPDATE Clients SET name = 'jauns nosaukums' WHERE clientid.id = idvalue; // Mēs izveidojam funkciju, kas par parametru ņems masīva lauku => datu publisko funkciju Atjaunināt ($ table, $ setfields, $ conditionfields) {// atdalām SET vērtības, lai mainītu $ i = 0; foreach ($ camposset as $ index => $ data) {$ dataset [$ i] = $ index. "= '". $ data. "'"; $ i ++; } $ queryset = implode (",", $ datu kopa); $ i = 0; foreach ($ conditionfields as $ index => $ conditiondata) {$ condition [$ i] = $ index. "= '". $ conditiondata. "'"; $ i ++; } $ querycondition = implode ("UN", $ nosacījums); // Atjaunināt ierakstus, ja ($ this-> connection-> query ("UPDATE $ table SET $ queryset WHERE $ querycondition") === TRUE) {if (mysqli_affected_rows ($ this-> savienojums)) {echo "Ieraksts atjaunināts"; } else {echo "Neizdevās, ierakstu nevarēja izdzēst". $ this-> connection-> error;}} 
Mēs izveidojam savu masīvu ar SET datiem, kas būs atjaunināmie lauki, un jaunām vērtībām, kā arī veidojam masīvu nosacījumam WHERE ar atjaunināmo ierakstu ID, kas var nākt no veidlapas:
 // Datu matrica SET $ customersset = array ("name" => 'Carlos Juan Dolfo', "name" => 'Pedro Dorien Triana', "name" => 'Enrique Ordoñez', "name" => 'Carla Dolores Andželosa '); $ customerswhere = masīvs ("customerid" => 1, "customerid" => 2, "customerid" => 5, "customerid" => 10); 
Tad mēs to izsauksim šādi, mēs izsauksim atjaunināšanas funkciju ("klienti", $ customersset, $ customerswhere) un pievienosim tam parametrus.
 $ dbconnect-> Update ("klienti", $ customersset, $ customerswhere);
Visos vaicājumos mēs izmantojam vietējo MySQLi funkciju, lai atklātu kļūdas $ mysqli-> kļūda, kas parādīs kļūdas ziņojumu jebkuram SQL vaicājumam vai MySQLi funkcijai, kas, iespējams, tika izpildīta un neizdevās, lai mēs varētu zināt, kāpēc radās kļūda.
Mēs definējam datu meklēšanas metodi
Lai iegūtu datus no tabulas, mēs izveidojam vaicājuma metodi ar diviem parametriem, no kuriem viens ir tabulas nosaukums, bet otrs ir masīvs, kas satur kolonnu nosaukumu un meklējamo vērtību.
Mēs varam norādīt iegūto rezultātu matricas veidu. Šī parametra iespējamās vērtības ir konstantes MYSQLI_ASSOC, MYSQLI_NUM.
Masīva tips MYSQLI_ASSOC
 Masīvs {name => 'Carlos Juan Dolfo', name ”=> 'Enrique Ordoñez'} 
Masīva tips MYSQLI_NUM
 Masīvs {0 => 'Carlos Juan Dolfo', 1 => 'Enrique Ordoñez'} publisku funkciju meklēšana ($ table, $ fields) {$ fields = implode (",", $ fields); $ rezultāts = $ šis-> savienojums-> vaicājums ("SELECT $ lauki NO $ tabulas"); atgriezt $ rezultātu-> atnest visu (MYSQLI_ASSOC); } 
Mēs izveidojam savu matricu, izmantojot meklēšanai nepieciešamos datus, kas var tikt iegūti no veidlapas:
 // Datu masīvs, lai meklētu $ klienti search = masīvs ("klienta ID", "nosaukums"); 
Tad mēs to izsauksim šādi, mēs izsauksim meklēšanas funkciju ("klienti", $ klientu meklēšana) un pievienosim parametrus:
 $ connectdb -> meklēt ($ tabula, $ klientu meklēšana);
Šī funkcija atgriež a recorset kas mums būs jāiziet kā masīvs, lai redzētu katra lauka datus:Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave