Stocați proceduri cu parametri din PHP

Cuprins
Procedurile stocate sunt foarte utile pentru încapsularea operațiunilor bazei de date și economisirea timpului de dezvoltare.
Când trebuie să mențineți o bază de date cu multe tranzacții și o anumită confidențialitate, puteți avea o echipă de dezvoltatori care realizează cod fără a ști cum este baza de date.
Pentru aceasta vom folosi proceduri stocate
Exemplu
Creăm o bază de date pentru un imobil și un tabel pentru imobiliare (folosim câteva câmpuri pentru a nu genera cod extins și confuz)
 CREAȚI TABELUL DACĂ NU EXISTĂ „imobiliare” („id” int (11) NU NULL AUTO_INCREMENT, „furnituretype” varchar (100) DEFAULT '0', „price` decimal (10,2) DEFAULT '0.00',„ description ” text, CHEIE PRIMARĂ („id”)) MOTOR = MyISAM AUTO_INCREMENT = 195 DEFAULT CHARSET = latin1; 

Creez o procedură stocată proprietate nouă pentru a insera proprietățile în baza de date. Când îl definesc, atribuie ca parametru datele pe care trebuie să le accepte, în acest caz proprietatea, prețul și descrierea, fiecare cu formatul său mysql, scriu și acțiunea INSERT

Apoi creăm un formular de înregistrare a datelor html pentru a introduce valorile noilor proprietăți.

[color = # 000000] Aici trimitem informațiile către un fișier save.php care va apela procedura stocată și aceasta va salva datele. [/ color]
[color = # 000000] Pentru a face acest lucru, trebuie să fi creat anterior codul de conexiune la baza de date. [/ color]
[color = # 000000] Creăm un fișier config.php [/ color]

<? php

// Șir de conexiune la baza de date

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

// conexiune la baza de date

if (! $ link) {

die ('Nu este conectat:'. mysql_error ());

}

// Selectați baza de date

$ db = 'dbInmobiliaria';

if (! mysql_select_db ($ db)) {

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

}?> var13 ->

În imagine putem vedea cum se apelează procedura stocată prin instrucțiunea SQL APEL

CALL newinmueble (parametru1, parametru2, …)

Creăm o altă procedură stocată în baza de date pentru a interoga după tipul de proprietate.

CREATE procedure furniturelist (tip varchar (150))

[liniuță = 1]SELECTAȚI * DIN proprietatea UNDE tipul de proprietate LIKE
Pe lângă utilizarea acestuia în php, putem face interogarea din orice software care acceptă sql și mysql în acest caz.
Am testat propertylist-ul procedurii stocate după tip în acest caz din software-ul de gestionare mysql Heidisql
CALL listă de mobilă („casă”)
Rezultatul poate fi văzut mai jos, deoarece a fost filtrat după tipul de proprietate.

De asemenea, putem crea o procedură stocată pentru a șterge datele unde vom trimite ID-ul ca parametru
[color = # 000000] CREATE procedura șterge proprietatea (proprietatea id INT) [/ color]
[culoare = # 000000]SELECTA * DIN IMOBILIARE UNDE id = id imobiliar[/Culoare]
Apoi apelăm procedura stocată după cum urmează
CALL ștergeți proprietatea (172)
Interesantul este că, dacă am fi administratori de baze de date ale unui sistem foarte complex, am putea pune la dispoziția programatorilor doar lista procedurilor și nu structura bazei de date, care oferă o confidențialitate mai mare.
Permițându-le să interacționeze cu datele, dar nu cu structura, chiar dacă pot citi doar, dar nu le pot modifica. Aceasta ar fi o problemă pentru sistemele de baze de date mari, cu multe persoane care interacționează acolo unde securitatea și confidențialitatea sunt importante.
Cele mai populare baze de date care acceptă procedurile stocate sunt mysql, firebird, server ms sql, oracle, db2 postgresql, sybase (primul care creează un limbaj de tranzacție pentru baza de date pentru sql numit Transact-SQL).V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave