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.
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
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 :
# 🎜🎜#$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'];
Obtenez l'objet PDO via la méthode getPdo()
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!