Gem procedurer med parametre fra PHP

Indholdsfortegnelse
Lagrede procedurer er meget nyttige til indkapsling af databaseoperationer og sparer udviklingstid.
Når du skal vedligeholde en database med mange transaktioner og en vis fortrolighed, kan du have et team af udviklere, der laver kode uden at vide, hvordan databasen er.
Til dette vil vi bruge lagrede procedurer
Eksempel
Vi opretter en database for en fast ejendom og et bord for fast ejendom (vi bruger få felter for ikke at generere omfattende og forvirrende kode)
 Opret tabel, hvis den ikke eksisterer `fast ejendom` (` id` int (11) IKKE NULL AUTO_INCREMENT, `møblertype` varchar (100) DEFAULT '0', 'pris' decimal (10,2) DEFAULT '0.00', 'beskrivelse' tekst, PRIMÆR NØGLE (`id`)) MOTOR = MyISAM AUTO_INCREMENT = 195 DEFAULT CHARSET = latin1; 

Jeg opretter en lagret procedure ny ejendom for at indsætte egenskaberne i databasen. Når jeg definerer det, tildeler jeg som parameter de data, som det skal acceptere, i dette tilfælde egenskab, pris og beskrivelse, hver med sit mysql -format, skriver jeg også INSERT -handlingen

Derefter opretter vi en html -dataregistreringsformular for at indtaste værdierne for de nye ejendomme.

[color = # 000000] Her sender vi oplysningerne til en fil save.php, der kalder den lagrede procedure, og dette gemmer dataene. [/ color]
[color = # 000000] For at gøre dette skal vi tidligere have oprettet databaseforbindelseskoden. [/ color]
[color = # 000000] Vi opretter en fil config.php [/ color]

<? php

// Databaseforbindelsesstreng

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

// database forbindelse

hvis (! $ link) {

die ('Ikke forbundet:'. mysql_error ());

}

// Vælg database

$ db = 'dbInmobiliaria';

hvis (! mysql_select_db ($ db)) {

die ('Fejl:'. mysql_error ());

}?> var13 ->

På billedet kan vi se, hvordan den lagrede procedure kaldes gennem SQL -sætningen OPKALD

CALL newinmueble (parameter1, parameter2, …)

Vi opretter en anden lagret procedure i databasen for at forespørge efter egenskabstype.

Opret procedure møbeliste (type varchar (150))

[indrykning = 1]VÆLG * FRA ejendom HVOR egenskab LIKE type
Ud over at bruge det i php, kan vi lave forespørgslen fra enhver software, der understøtter sql og mysql i dette tilfælde.
Vi testede den gemte procedure ejendomsfortegnelse efter type i dette tilfælde fra mysql management software Heidisql
CALL liste over møbler ('hus')
Resultatet kan ses herunder, da det er filtreret efter ejendomstype.

Vi kan også oprette en lagret procedure til sletning af data, hvor vi sender id'et som parameter
[color = # 000000] Opret procedure slet ejendom (id egenskab INT) [/ color]
[farve = # 000000]VÆLG * FRA fast ejendom HVOR id = ejendoms -id[/Farve]
Derefter kalder vi den lagrede procedure som følger
RING slette ejendom (172)
Det interessante ved dette er, at hvis vi var databaseadministratorer af et meget komplekst system, kunne vi kun stille programmerne til rådighed for listen over procedurer og ikke strukturen i databasen, hvilket giver større fortrolighed.
Tillader dem at interagere med dataene, men ikke med strukturen, selvom de kun kan læse, men ikke ændre. Dette ville være et problem for store databasesystemer med mange mennesker, der interagerer, hvor sikkerhed og fortrolighed er vigtig.
De mest populære databaser, der understøtter lagrede procedurer, er mysql, firebird, ms sql server, oracle, db2 postgresql, sybase (først for at oprette et databasetransaktionssprog til sql kaldet Transact-SQL).Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave