Uložte procedury s parametry z PHP

Obsah
Uložené procedury jsou velmi užitečné pro zapouzdření databázových operací a úsporu času při vývoji.
Když potřebujete udržovat databázi s mnoha transakcemi a určitou důvěrností, můžete mít tým vývojářů, kteří vytvářejí kód, aniž by věděli, jaká je databáze.
K tomu použijeme uložené procedury
Příklad
Vytváříme databázi nemovitostí a tabulku nemovitostí (používáme několik polí, abychom nevygenerovali rozsáhlý a matoucí kód)
 VYTVOŘIT TABULKU, KDYŽ NEEXISTUJE `nemovitost` (` id` int (11) NOT NULL AUTO_INCREMENT ,`panituretype` varchar (100) DEFAULT '0', `price` decimal (10,2) DEFAULT '0.00',` description` text, PRIMARY KEY (`id`)) ENGINE = MyISAM AUTO_INCREMENT = 195 DEFAULT CHARSET = latin1; 

Vytvořím uloženou proceduru nová nemovitost pro vložení vlastností do databáze. Při definování přiřadím jako parametr data, která musí přijmout, v tomto případě vlastnost, cenu a popis, každý s formátem mysql, také napíšu akci VLOŽIT

Poté vytvoříme html formulář pro registraci dat pro zadání hodnot nových vlastností.

[color = # 000000] Zde odešleme informace do souboru save.php, který zavolá uloženou proceduru a ta uloží data. [/ color]
[color = # 000000] Abychom to mohli provést, musíme mít předem vytvořený kód připojení k databázi. [/ color]
[color = # 000000] Vytvoříme soubor config.php [/ color]

<? php

// Řetězec připojení k databázi

$ link = mysql_connect ('localhost', 'uživatel', 'heslo');

// připojení k databázi

if (! $ link) {

die ('Not connected:'. mysql_error ());

}

// Vyberte databázi

$ db = 'dbInmobiliaria';

if (! mysql_select_db ($ db)) {

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

}?> var13 ->

Na obrázku vidíme, jak je uložená procedura volána prostřednictvím příkazu SQL VOLÁNÍ

CALL newinmueble (parametr1, parametr2, …)

Vytvoříme další uloženou proceduru v databázi pro dotaz podle typu vlastnosti.

VYTVOŘIT procedurální seznam procedur (typ varchar (150))

[odrážka = 1]SELECT * FROM vlastnost WHERE vlastnost LIKE typ
Kromě použití v php můžeme dotaz provést v libovolném softwaru, který v tomto případě podporuje sql a mysql.
Seznam vlastností uložené procedury jsme testovali podle typu v tomto případě ze softwaru pro správu mysql Heidisql
CALL seznam nábytku ('dům')
Výsledek je vidět níže, protože je filtrován podle typu vlastnosti.

Můžeme také vytvořit uloženou proceduru pro odstranění dat, kam pošleme ID jako parametr
[color = # 000000] VYTVOŘTE proceduru odstranění vlastnosti (id vlastnost INT) [/ color]
[barva = # 000000]VYBRAT * Z nemovitosti KDE id = id nemovitosti[/Barva]
Potom voláme uloženou proceduru následovně
CALL odstranit vlastnost (172)
Zajímavé na tom je, že kdybychom byli správci databází velmi složitého systému, mohli bychom programátorům zpřístupnit pouze seznam procedur a nikoli strukturu databáze, která poskytuje větší důvěrnost.
Umožnit jim interagovat s daty, ale ne se strukturou, i když mohou pouze číst, ale nemodifikovat. To by byl problém pro velké databázové systémy s mnoha lidmi, kteří interagují tam, kde je důležitá bezpečnost a důvěrnost.
Nejpopulárnější databáze, které podporují uložené procedury, jsou mysql, firebird, ms sql server, oracle, db2 postgresql, sybase (první pro vytvoření databázového transakčního jazyka pro sql s názvem Transact-SQL).Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave