Przechowuj procedury z parametrami z PHP

Spisie treści
Procedury składowane są bardzo przydatne do hermetyzacji operacji na bazie danych i oszczędzania czasu programowania.
Kiedy musisz utrzymywać bazę danych z wieloma transakcjami i pewną poufnością, możesz mieć zespół programistów, którzy tworzą kod, nie wiedząc, jak wygląda baza danych.
W tym celu użyjemy procedur składowanych
Przykład
Tworzymy bazę danych dla Nieruchomości oraz tabelę dla nieruchomości (używamy kilku pól, aby nie generować rozbudowanego i mylącego kodu)
 UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `nieruchomość` (` id` int (11) NOT NULL AUTO_INCREMENT, `furnituretype` varchar (100) DEFAULT '0',` cena` dziesiętna (10,2) DEFAULT '0.00', `description` tekst , KLUCZ PODSTAWOWY (`id`)) ENGINE = MyISAM AUTO_INCREMENT = 195 DOMYŚLNY ZESTAW ZNAKÓW = latin1; 

Tworzę procedurę składowaną nowa nieruchomość aby wstawić właściwości do bazy danych. Definiując go przypisuję jako parametr dane, które musi zaakceptować, w tym przypadku właściwość, cenę i opis, każdy w swoim formacie mysql, wpisuję również akcję INSERT

Następnie tworzymy formularz rejestracji danych html w celu wprowadzenia wartości nowych właściwości.

[kolor = # 000000] Tutaj wysyłamy informacje do pliku save.php, który wywoła procedurę składowaną i to zapisze dane.[/color]
[color = # 000000] Aby to zrobić, musimy wcześniej utworzyć kod połączenia z bazą danych.[/ color]
[kolor = # 000000] Tworzymy plik config.php [/ kolor]

<?

// Ciąg połączenia z bazą danych

$ link = mysql_connect ('host lokalny', 'użytkownik', 'hasło');

// połączenie z bazą danych

jeśli (! $ link) {

die ('Nie połączono:'. mysql_error ());

}

// Wybierz bazę danych

$ db = 'dbInmobiliaria';

if (! mysql_select_db ($db)) {

die ('Błąd:'. mysql_error ());

}?> zm13 ->

Na obrazku widzimy, jak procedura składowana jest wywoływana za pomocą instrukcji SQL POŁĄCZENIE

CALL newinmueble (parametr1, parametr2, …)

Tworzymy kolejną procedurę składowaną w bazie danych, aby wysyłać zapytania według typu właściwości.

Zestaw mebli zabiegowych CREATE (typ varchar (150))

[wcięcie = 1]SELECT * FROM właściwość WHERE właściwość LIKE typ
Oprócz używania go w php, możemy wykonać zapytanie z dowolnego oprogramowania obsługującego w tym przypadku sql i mysql.
Przetestowaliśmy listę właściwości procedury składowanej według typu w tym przypadku z oprogramowania do zarządzania mysql Heidisql
CALL lista mebli („dom”)
Wynik można zobaczyć poniżej, ponieważ został przefiltrowany według typu właściwości.

Możemy również utworzyć procedurę składowaną, aby usunąć dane, w której wyślemy identyfikator jako parametr
[kolor = # 000000] CREATE procedura usuwania właściwości (właściwość id INT) [/ kolor]
[kolor = # 000000]SELECT * FROM nieruchomości WHERE id = id nieruchomości[/Kolor]
Następnie wywołujemy procedurę składowaną w następujący sposób
CALL usuń właściwość (172)
Co ciekawe, gdybyśmy byli administratorami baz danych bardzo złożonego systemu, moglibyśmy udostępnić programistom jedynie listę procedur, a nie strukturę bazy danych, co zapewnia większą poufność.
Pozwalając im na interakcję z danymi, ale nie ze strukturą, nawet jeśli mogą tylko czytać, ale nie mogą modyfikować. Byłby to problem w przypadku dużych systemów baz danych, w których wiele osób wchodzi w interakcje, gdzie ważne jest bezpieczeństwo i poufność.
Najpopularniejsze bazy danych obsługujące procedury składowane to mysql, firebird, serwer ms sql, oracle, db2 postgresql, sybase (najpierw utworzył język transakcyjny bazy danych dla sql o nazwie Transact-SQL).Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave