Stocker des procédures avec des paramètres de PHP

Table des matières
Les procédures stockées sont très utiles pour encapsuler les opérations de base de données et gagner du temps de développement.
Lorsque vous devez maintenir une base de données avec de nombreuses transactions et une certaine confidentialité, vous pouvez avoir une équipe de développeurs qui créent du code sans savoir à quoi ressemble la base de données.
Pour cela, nous utiliserons des procédures stockées
Exemple
Nous créons une base de données pour un bien immobilier et une table pour un bien immobilier (nous utilisons peu de champs pour ne pas générer de code étendu et déroutant)
 CREATE TABLE IF NOT EXISTS `real estate` (` 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; 

je crée une procédure stockée nouvelle propriété pour insérer les propriétés dans la base de données. Lors de sa définition j'affecte en paramètre les données qu'il doit accepter, en l'occurrence propriété, prix et description, chacune avec son format mysql, j'écris aussi l'action INSERT

Ensuite, nous créons un formulaire d'enregistrement de données html pour saisir les valeurs des nouvelles propriétés.

[color = # 000000] Ici on envoie les informations dans un fichier save.php qui va appeler la procédure stockée et cela va sauvegarder les données.[/color]
[color = # 000000] Pour ce faire, nous devons avoir préalablement créé le code de connexion à la base de données. [/ color]
[color = # 000000] On crée un fichier config.php [/ color]

<?php

// Chaîne de connexion à la base de données

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

// connexion à la base de données

si (! $ lien) {

die ('Non connecté :'. mysql_error ());

}

// Sélection de la base de données

$ db = 'dbInmobiliaria';

if (! mysql_select_db ($ db)) {

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

}?> var13 ->

Dans l'image, nous pouvons voir comment la procédure stockée est appelée via l'instruction SQL APPEL

CALL newinmueble (paramètre1, paramètre2, …)

Nous créons une autre procédure stockée dans la base de données pour interroger par type de propriété.

Procédure CREER la liste des meubles (type varchar (150))

[retrait = 1]SELECT * FROM propriété WHERE propriété LIKE type
En plus de l'utiliser en php, nous pouvons effectuer la requête à partir de n'importe quel logiciel prenant en charge sql et mysql dans ce cas.
Nous avons testé la liste de propriétés des procédures stockées par type dans ce cas à partir du logiciel de gestion mysql Heidisql
CALL liste de meubles ('maison')
Le résultat peut être vu ci-dessous car il a filtré par type de propriété.

Nous pouvons également créer une procédure stockée pour supprimer les données où nous enverrons l'identifiant en tant que paramètre
[color = # 000000] CREATE procédure delete property (id property INT) [/ color]
[couleur = # 000000]SELECT * FROM immobilier WHERE id = id immobilier[/Couleur]
Ensuite, nous appelons la procédure stockée comme suit
CALL supprimer la propriété (172)
La chose intéressante à ce sujet est que si nous étions administrateurs de bases de données d'un système très complexe, nous ne pourrions mettre à la disposition des programmeurs que la liste des procédures et non la structure de la base de données, ce qui offre une plus grande confidentialité.
Leur permettre d'interagir avec les données mais pas avec la structure, même qu'ils ne peuvent que lire mais pas modifier. Ce serait un problème pour les grands systèmes de bases de données avec de nombreuses personnes interagissant là où la sécurité et la confidentialité sont importantes.
Les bases de données les plus populaires qui prennent en charge les procédures stockées sont mysql, firebird, serveur ms sql, oracle, db2 postgresql, sybase (le premier à créer un langage de transaction de base de données pour SQL appelé Transact-SQL).Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave