Bewaar procedures met parameters uit PHP

Inhoudsopgave
Opgeslagen procedures zijn erg handig voor het inkapselen van databasebewerkingen en het besparen van ontwikkeltijd.
Wanneer u een database met veel transacties en enige vertrouwelijkheid moet onderhouden, kunt u een team van ontwikkelaars hebben die code maken zonder te weten hoe de database eruitziet.
Hiervoor gebruiken we opgeslagen procedures
Voorbeeld
We creëren een database voor een onroerend goed en een tabel voor onroerend goed (we gebruiken weinig velden om geen uitgebreide en verwarrende code te genereren)
 MAAK TABEL INDIEN NIET BESTAAT `real estate` (` id` int (11) NOT NULL AUTO_INCREMENT, `furnituretype` varchar (100) STANDAARD '0',' prijs' decimaal (10,2) STANDAARD '0.00', 'beschrijving' tekst , PRIMAIRE SLEUTEL (`id`)) MOTOR = MyISAM AUTO_INCREMENT = 195 STANDAARD CHARSET = latin1; 

Ik maak een opgeslagen procedure nieuwe woning om de eigenschappen in de database in te voegen. Bij het definiëren wijs ik als parameter de gegevens toe die het moet accepteren, in dit geval eigenschap, prijs en beschrijving, elk met zijn mysql-formaat, ik schrijf ook de INSERT-actie

Vervolgens maken we een html-gegevensregistratieformulier om de waarden van de nieuwe eigenschappen in te voeren.

[color = # 000000] Hier sturen we de informatie naar een bestand save.php dat de opgeslagen procedure zal aanroepen en dit zal de gegevens opslaan. [/ color]
[color = # 000000] Om dit te doen, moeten we eerder de databaseverbindingscode hebben gemaakt. [/ color]
[kleur = # 000000] We maken een bestand config.php [/ kleur]

<? php

// Databaseverbindingsreeks

$ link = mysql_connect ('localhost', 'gebruiker', 'wachtwoord');

// databaseverbinding

als (! $ link) {

die ('Niet verbonden:'. mysql_error ());

}

// Selecteer database

$ db = 'dbInmobiliaria';

if (! mysql_select_db ($ db)) {

sterven ('Fout:'. mysql_error ());

}?> var13 ->

In de afbeelding kunnen we zien hoe de opgeslagen procedure wordt aangeroepen via de SQL-instructie TELEFOONGESPREK

OPROEP newinmueble (parameter1, parameter2, …)

We creëren een andere opgeslagen procedure in de database om te zoeken op type eigenschap.

MAAK procedure meubellijst (type varchar (150))

[streepje = 1]SELECT * FROM eigenschap WHERE eigenschap LIKE type
Naast het gebruik in php, kunnen we in dit geval de query uitvoeren vanuit elke software die sql en mysql ondersteunt.
We hebben in dit geval de eigenschappenlijst van de opgeslagen procedure op type getest vanuit de mysql-beheersoftware Heidisql
OPROEP lijst van meubels ('huis')
Het resultaat is hieronder te zien omdat het is gefilterd op type eigenschap.

We kunnen ook een opgeslagen procedure maken om gegevens te verwijderen waar we de id als parameter naar sturen
[color = # 000000] CREATE procedure delete eigenschap (id eigenschap INT) [/ color]
[kleur = # 000000]SELECTEER * VAN onroerend goed WHERE id = onroerend goed id[/Kleur]
Dan noemen we de opgeslagen procedure als volgt:
OPROEP eigenschap verwijderen (172)
Het interessante hiervan is dat als we databasebeheerders waren van een zeer complex systeem, we de programmeurs alleen de lijst met procedures ter beschikking zouden kunnen stellen en niet de structuur van de database, wat voor meer vertrouwelijkheid zorgt.
Zodat ze kunnen communiceren met de gegevens, maar niet met de structuur, zelfs als ze alleen kunnen lezen maar niet kunnen wijzigen. Dit zou een probleem zijn voor grote databasesystemen met veel interactie tussen mensen en waarbij veiligheid en vertrouwelijkheid belangrijk zijn.
De meest populaire databases die opgeslagen procedures ondersteunen zijn: mysql, firebird, ms sql-server, oracle, db2 postgresql, sybase (eerste die een databasetransactietaal voor sql maakte met de naam Transact-SQL).Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave