Saglabājiet procedūras ar parametriem no PHP

Satura rādītājs
Saglabātās procedūras ir ļoti noderīgas, lai iekapsulētu datu bāzes darbības un ietaupītu izstrādes laiku.
Ja jums ir jāuztur datubāze ar daudziem darījumiem un zināmu konfidencialitāti, jums var būt izstrādātāju komanda, kas veido kodu, nezinot, kāda ir datu bāze.
Šim nolūkam mēs izmantosim saglabātās procedūras
Piemērs
Mēs izveidojam datubāzi nekustamajam īpašumam un tabulu nekustamajam īpašumam (mēs izmantojam maz lauku, lai neradītu plašu un neskaidru kodu)
 IZVEIDOT TABULU, JA NEPASTĀV "nekustamais īpašums" ("id" int (11) NOT NULL AUTO_INCREMENT, "furnituretype" varchar (100) DEFAULT "0", "price" decimal (10,2) DEFAULT '0.00', "description" text, PRIMARY KEY (`id`)) ENGINE = MyISAM AUTO_INCREMENT = 195 DEFAULT CHARSET = latin1; 

Es izveidoju saglabātu procedūru jauns īpašums lai ievietotu rekvizītus datu bāzē. Nosakot to, es kā parametru piešķiru datus, kas tam jāpieņem, šajā gadījumā īpašumu, cenu un aprakstu, katru no tiem ar savu mysql formātu, es arī uzrakstu INSERT darbību

Pēc tam mēs izveidojam html datu reģistrācijas veidlapu, lai ievadītu jauno rekvizītu vērtības.

[color = # 000000] Šeit mēs nosūtām informāciju uz failu save.php, kas izsauks saglabāto procedūru, un tas saglabās datus. [/ color]
[color = # 000000] Lai to izdarītu, mums iepriekš ir jāizveido datu bāzes savienojuma kods. [/ color]
[color = # 000000] Mēs izveidojam failu config.php [/ color]

<? php

// Datu bāzes savienojuma virkne

$ link = mysql_connect ('localhost', 'user', 'password');

// datu bāzes savienojums

ja (! $ saite) {

mirst ('Nav savienots:'. mysql_error ());

}

// Atlasiet datu bāzi

$ db = 'dbInmobiliaria';

ja (! mysql_select_db ($ db)) {

mirst ('Kļūda:'. mysql_error ());

}?> var13 ->

Attēlā mēs varam redzēt, kā saglabātā procedūra tiek izsaukta, izmantojot SQL paziņojumu ZVANIET

CALL newinmueble (parametrs1, parametrs2, …)

Mēs izveidojam citu datu bāzē saglabātu procedūru, lai veiktu vaicājumus pēc īpašuma veida.

IZVEIDOT procedūras mēbeļu sarakstu (tips varchar (150))

[atkāpe = 1]SELECT * FROM property WHERE īpašumam patīk
Papildus tam, ka to izmantojam php, mēs varam veikt vaicājumu no jebkuras programmatūras, kas šajā gadījumā atbalsta SQL un mysql.
Mēs pārbaudījām saglabāto procedūru īpašnieku pēc veida šajā gadījumā no mysql pārvaldības programmatūras Heidisql
CALL mēbeļu saraksts ("māja")
Rezultātu var redzēt zemāk, jo tas ir filtrēts pēc īpašuma veida.

Mēs varam arī izveidot saglabātu procedūru datu dzēšanai, kur mēs nosūtīsim ID kā parametru
[color = # 000000] CREATE procedūra, lai dzēstu rekvizītu (id property INT) [/ color]
[krāsa = # 000000]SELECT * FROM nekustamais īpašums WHERE id = nekustamā īpašuma id[/Krāsa]
Tad mēs izsaucam saglabāto procedūru šādi
CALL dzēst īpašumu (172)
Interesanti ir tas, ka, ja mēs būtu ļoti sarežģītas sistēmas datu bāzes administratori, mēs varētu programmētājiem darīt pieejamus tikai procedūru sarakstu, nevis datu bāzes struktūru, kas nodrošina lielāku konfidencialitāti.
Ļaujot viņiem mijiedarboties ar datiem, bet ne ar struktūru, pat ja viņi var tikai lasīt, bet ne modificēt. Tas būtu jautājums lielām datu bāzu sistēmām, kurās mijiedarbojas daudzi cilvēki, kur svarīga ir drošība un konfidencialitāte.
Populārākās datu bāzes, kas atbalsta saglabātās procedūras, ir mysql, firebird, ms sql serveris, oracle, db2 postgresql, sybase (vispirms izveidojiet SQL datu bāzes darījumu valodu ar nosaukumu Transact-SQL).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