Store-Prozeduren mit Parametern von PHP

Inhaltsverzeichnis
Gespeicherte Prozeduren sind sehr nützlich, um Datenbankoperationen zu kapseln und Entwicklungszeit zu sparen.
Wenn Sie eine Datenbank mit vielen Transaktionen und einer gewissen Vertraulichkeit pflegen müssen, können Sie ein Team von Entwicklern haben, die Code erstellen, ohne zu wissen, wie die Datenbank ist.
Dazu verwenden wir gespeicherte Prozeduren
Beispiel
Wir erstellen eine Datenbank für eine Immobilie und eine Tabelle für Immobilien (wir verwenden wenige Felder, um keinen umfangreichen und verwirrenden Code zu generieren)
 CREATE TABLE IF NOT EXISTS `immobilien` (` id` int (11) NOT NULL AUTO_INCREMENT, `furnituretype` varchar (100) DEFAULT '0',` price` decimal (10,2) DEFAULT '0.00', `description` text , PRIMARY KEY (`id`)) ENGINE = MyISAM AUTO_INCREMENT = 195 DEFAULT CHARSET = latin1; 

Ich erstelle eine gespeicherte Prozedur neue Immobilie um die Eigenschaften in die Datenbank einzufügen. Wenn ich es definiere, weise ich als Parameter die Daten zu, die es akzeptieren muss, in diesem Fall Eigenschaft, Preis und Beschreibung, jedes mit seinem mysql-Format, ich schreibe auch die INSERT-Aktion

Dann erstellen wir ein HTML-Datenregistrierungsformular, um die Werte der neuen Eigenschaften einzugeben.

[color = # 000000] Hier senden wir die Informationen an eine Datei save.php, die die gespeicherte Prozedur aufruft und die Daten speichert.[/color]
[color = # 000000] Dazu müssen wir zuvor den Datenbankverbindungscode erstellt haben.[/color]
[color = # 000000] Wir erstellen eine Datei config.php[/color]

<?php

// Datenbankverbindungszeichenfolge

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

// Datenbankanbindung

if (! $-Link) {

sterben ('Nicht verbunden:'. mysql_error ());

}

// Datenbank auswählen

$db = 'dbInmobiliaria';

if (! mysql_select_db ($ db)) {

sterben ('Fehler:'. mysql_error ());

}?> var13 ->

Im Bild sehen wir, wie die gespeicherte Prozedur über die SQL-Anweisung aufgerufen wird FORDERUNG

CALL newinmueble (Parameter1, Parameter2, …)

Wir erstellen eine weitere gespeicherte Prozedur in der Datenbank, um nach Eigenschaftstyp abzufragen.

CREATE-Prozedur Möbelliste (Typ varchar (150))

[Einzug = 1]SELECT * FROM-Eigenschaft WHERE-Eigenschaft LIKE-Typ
Zusätzlich zur Verwendung in PHP können wir in diesem Fall die Abfrage von jeder Software aus durchführen, die SQL und MySQL unterstützt.
Wir haben in diesem Fall die Eigenschaftsliste der gespeicherten Prozeduren nach Typ von der mysql-Verwaltungssoftware Heidisql getestet
CALL Möbelliste ('Haus')
Das Ergebnis ist unten zu sehen, da es nach Art der Eigenschaft gefiltert wurde.

Wir können auch eine gespeicherte Prozedur zum Löschen von Daten erstellen, bei der wir die ID als Parameter senden
[color = # 000000] CREATE-Prozedur Löscheigenschaft (id-Eigenschaft INT) [/color]
[Farbe = # 000000]SELECT * FROM Immobilien WHERE id = Immobilien id[/Farbe]
Dann rufen wir die gespeicherte Prozedur wie folgt auf
CALL delete-Eigenschaft (172)
Das Interessante daran ist, dass wir, wenn wir Datenbankadministratoren eines sehr komplexen Systems wären, den Programmierern nur die Liste der Prozeduren und nicht die Struktur der Datenbank zur Verfügung stellen könnten, was eine größere Vertraulichkeit bietet.
Sie können mit den Daten interagieren, aber nicht mit der Struktur, auch wenn sie nur lesen, aber nicht ändern können. Dies wäre ein Problem für große Datenbanksysteme mit vielen interagierenden Personen, bei denen Sicherheit und Vertraulichkeit wichtig sind.
Die beliebtesten Datenbanken, die gespeicherte Prozeduren unterstützen, sind mysql, firebird, ms sql server, oracle, db2 postgresql, sybase (zuerst eine Datenbanktransaktionssprache für SQL namens Transact-SQL erstellen).Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave