Maison >cadre php >Laravel >procédure stockée de connexion Laravel

procédure stockée de connexion Laravel

WBOY
WBOYoriginal
2023-05-26 14:13:09742parcourir

Dans le processus de développement avec Laravel, vous devez parfois vous connecter aux procédures stockées dans la base de données afin d'effectuer certaines opérations spécifiques sur la base de données. Cet article explique comment utiliser Laravel pour connecter des procédures stockées et quelques considérations.

  1. Configurer la connexion à la base de données

Tout d'abord, vous devez configurer la connexion à la base de données dans le fichier config/database.php pour que Laravel puisse effectuer les opérations correspondantes sur la base de données. Recherchez la configuration de la connexion 'mysql' dans le fichier et modifiez les paramètres comme suit :

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
    'options' => array(
        PDO::ATTR_EMULATE_PREPARES => true,
    ),
],

Parmi eux, il convient de noter que si la connexion à la base de données utilise un port, un nom d'utilisateur et un mot de passe personnalisés, elle a besoin faire la configuration correspondante dans le fichier env, comme indiqué ci-dessous :

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mydatabase
DB_USERNAME=myusername
DB_PASSWORD=mypassword
  1. Créer une procédure stockée

Avant de vous connecter procédure, vous devez d’abord créer une procédure stockée dans la base de données. En prenant MySQL comme exemple, dans la ligne de commande ou l'outil MySQL, vous pouvez exécuter une instruction SQL similaire à la suivante pour créer une procédure stockée :

CREATE PROCEDURE my_procedure (IN id INT, IN name VARCHAR(255), OUT result INT)
BEGIN
    -- 在此处编写存储过程的具体代码
    -- 例如:将id和name插入到数据库表中,并将插入的数据的主键返回到result变量
    INSERT INTO my_table(id, name) VALUES (id, name);
    SET result = LAST_INSERT_ID();
END

Lors de la création d'une procédure stockée, vous devez faire attention au suivant :

# 🎜🎜#
    procedure mot-clé : indique que la procédure créée est une procédure stockée
  • Nom de la procédure stockée : voici ma_procédure ; 🎜🎜#Liste des paramètres : Il y a ici 3 paramètres, respectivement id, nom et résultat
  • Code de procédure stockée : écrivez le code spécifique de la procédure stockée entre les mots-clés BEGIN et END ;
  • OUT variable : représente la valeur de retour, voici le résultat.
  • L'implémentation spécifique de la création d'une procédure stockée est écrite en fonction des besoins réels de l'entreprise.
Connexion de procédures stockées

    La connexion de procédures stockées dans Laravel nécessite l'utilisation de classes DB. Utilisez le code suivant pour vous connecter à la procédure stockée :
  1. $pdo = DB::connection()->getPdo();
    $stmt = $pdo->prepare("CALL my_procedure(?, ?, @result)");
    $stmt->bindParam(1, $id, PDO::PARAM_INT);
    $stmt->bindParam(2, $name, PDO::PARAM_STR);
    $stmt->execute();
    $select = $pdo->query("SELECT @result AS result");
    $result = $select->fetch(PDO::FETCH_ASSOC)['result'];
  2. Parmi eux, ce qu'il faut noter est :

Utilisez la DB::connection() méthode pour obtenir la connexion à la base de données;# 🎜🎜#

Obtenez l'objet PDO via la méthode getPdo()

    Utilisez la méthode prepare() pour préparer l'instruction SQL à exécuter, où "?, ? et @result" correspondent respectivement aux paramètres de la procédure stockée 3
  • Utilisez la méthode bindParam() pour lier les variables $id et $name aux premier et deuxième paramètres ; #
  • Appelez la méthode execute() pour exécuter la procédure stockée ;
  • Utilisez la méthode query() pour exécuter la requête
  • Stockez les résultats de la requête dans le $ ; variable de résultat.
  • Il est à noter que le nombre et le type de paramètres utilisés dans la procédure stockée doivent être cohérents avec le nombre et le type de paramètres utilisés lors de l'exécution de la procédure stockée dans Laravel. S'il y a des incohérences, cela peut entraîner l'échec de la procédure stockée de connexion.
  • Summary

Ce qui précède présente les étapes et précautions spécifiques pour la connexion au processus stocké. Dans le processus de développement et de débogage réel, les paramètres et modifications correspondants doivent être effectués en fonction de la situation réelle pour obtenir l'effet de fonctionnement de la base de données spécifié. J'espère que cet article sera utile aux lecteurs pour utiliser Laravel pour connecter des procédures stockées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn